내가

2010-06-28 7 views
0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', 
    reason: '*** -[NSPlaceholderString initWithUTF8String:]: NULL cString' 

답변

2

은 그래서 당신을 의미하는 데이터베이스를 여는 동안 런타임에이 오류를 얻고 것은이 일을하고 있습니다 :

NSString *myString = [NSString stringWithUTF8String: NULL]; 

그래서 당신이 어디있어 찾아 당신은이 질문에서 생략 역 추적을 사용 그리고 문자 배열을 올바르게 초기화해야합니다.

0

cString은 NSString 클래스의 한 메서드입니다.
이 오류는 메소드가 NSString이 아닌 NSString에서 호출되었음을 의미합니다. nil을 리턴하면 NSPlaceholderString의 initWithUTF8String 메소드가 예외를 발생시킵니다.

일부 점에서 nil 문자열의 출처를 보려면 NSLog()를 사용하십시오. 그것은 사물의 종류 일 수 있습니다

NSString * str; 

if(someTest) 
{ 
    str = @"foo" 
} 
/* No else statement - so uninitialized string */ 
+0

NSLog()? 와, 올드 스쿨. 정적 분석기는 그러한 종류의 버그를 잡을 수 있습니다 (사실상 질문자의 충돌의 원인이 될 수있는 것은 아닙니다). –