2011-06-14 3 views
0

iOS 응용 프로그램을 디버깅 할 때 항상 NSLog를 사용하여 개체의 내용을 인쇄합니다. 그러나 "nil"객체를 발견 할 때마다 프로그램이 중단됩니다. Java에서 객체가 null이면 "null"이 인쇄됩니다. Objective-C에서이 작업을 수행 할 수있는 방법이 있습니까? 같은인쇄 할 방법이 없으면 nil이 출력됩니다. iOS

+5

그건 이상합니다. 충돌이 없어야합니다. 그냥'(null)'을 출력해야합니다. – BoltClock

+0

'NSLog()'호출을 붙여 줄 수 있습니까? – BoltClock

+0

NSLog (@ "% @", theObject);'대신'NSLog (theObject);를 사용하겠습니다. – Hollance

답변

0

뭔가 :

if (questionableObject == nil) { 
    NSLog(@"questionableObject is nil."); 
} else { 
    NSLog(@"questionableObject is: %@", questionableObject); 
} 

내가 매개 변수로 전무 객체를 사용하는 NSLog 매개 변수 목록 내부 객체에 메시지를 보낼 때 난 단지 정말이 문제로 실행했습니다. 다음과 같은 내용 :

if (questionableObject == nil) { 
    NSLog(@"questionableObject is nil."); 
} else { 
    NSLog(@"result is: %@", [something someMessage:questionableObject]); 
} 
1

"개체의 콘텐츠 인쇄"란 무엇을 의미합니까? nil 포인터를 역 참조하는 경우 문제가 발생할 것입니다. 포인터를 인쇄 중이라면 OK입니다. 문제없이 메시지를 보낼 수 있으므로 다음을 할 수 있습니다.

NSLog(@"theObject is: %@", [theObject description]); 
관련 문제