2012-09-09 2 views
0

iOS 5.0에서 흥미로운 버그가 있다고 생각했습니다.이 코드는 5.1에서 완벽하게 작동합니다. Console.Write()의 많이 사용하여 아래로 축소 세 후, 나는에 충돌을 좁혀 :iOS 5.0 Monotouch의 NSUrl.ToString() 메소드, 가능한 버그

nsUrl.ToString(); 

이 중 하나 MonoTouch 라이브러리 또는 iOS에서입니다.

아무도 없습니까? 가능한 최소한의 iOS 버전을 지원하기를 원하기 때문에 성가시다.

+0

'nsUrl'은 (는) null입니까? –

+0

대물 렌즈 c는 toString 메서드가 없습니다. 가장 가까운 것은 콘솔 로깅에 대한 설명 메서드입니다. 이 방법을 왜 사용하고 있습니까? 대신 경로 속성을 사용해야한다고 생각합니다. – borrrden

+0

ps 이것이 C# 코드라는 것을 알고 있지만 toString 메서드는 단순히 로깅 외부에서 유용하지 않은'description'을 호출 할 것입니다. – borrrden

답변

0

MonoTouch 기본값 인 ToString 구현에서 NSObject 하위 클래스의 경우 description 선택기를 호출하는 것입니다.

경우에 따라 description을 호출하면 프로세스가 실패하거나 프로세스가 중단 될 수 있습니다 (iOS 버전에 따라 다를 수 있음). 일반적으로 네이티브 객체가 잘못된 상태 (예 : 잘못 초기화 됨, 잘못된 값 ...) 인 경우에 발생합니다.

MonoTouch는 ( 알려진 가능한 경우와 ) 다른 ToString 구현을 사용하여 (추가 검사로 예를 들어, 또는 형식 이름을 반환 기본 ToString, 다시 하락으로) 이러한 경우를 처리하기 위해 시도합니다.

참고 : 이러한 동작을 발견하면 bug report으로 신고 해주세요. 다르게 처리 할 수 ​​있는지 확인해 보겠습니다.