2012-04-15 4 views
1

Xcode를 처음 사용했습니다. 내가 원하는 것은 내 프로그램에서 로컬로 plist 데이터를 읽습니다. 나는 NSArrayM insertObject:atIndex:]: object cannot be nil 오류가 발생했습니다. 여기는 내가 선언 한 것과 내 plist 파일입니다. 감사합니다xcode NSArrayM insertObject : atIndex :] : 개체를 Nil 할 수 없습니다.

NSMutableArray *phoneArray; 

NSString *path=[[NSBundle mainBundle] pathForResource:@"PhoneList" ofType:@"plist"]; 

phoneArray= [[NSMutableArray alloc]initWithContentsOfFile:path]; 

키 유형 항목 0 사전 항목

항목은 문자열의 형식으로 설명, 이름 키가 1 사전.

+1

을 피하기 위해 요소가 전무 것은 아닌지 확인해 보시기 바랍니다 ... –

답변

2

plist를 확인하십시오. 잘못된 값일 가능성이 큽니다. NSArray 또는 NSDictionary의 항목은 null 일 수 없습니다. Xcode를 사용하여 plist 파일을 열어 검증 할 수 있습니다.

필자는 개인적으로 "PlistEdit Pro"를 사용하여 plist가 유효하지 않은 경우 다소 나은 진단을 제공 할 수 있습니다. PlistEdit Pro에는 Free Trial here이 있습니다.

+0

감사 Zaph 전무하다. 프로그램은 많은 도움이됩니다. – wseries

+0

사실 나는 plist를 잘못 구현했습니다. 바깥 쪽 태그는 이고 안쪽 태그는 입니다. 다시 감사합니다. – wseries

0
- (void)insertObject:(id)anObject atIndex:(NSUInteger)index 

배열 내용에 추가 할 개체입니다. 이 값은 nil이 아니어야합니다.

PLIST 파일에서 모든 입력하기 전에, PLIST에 excetion에게 youritems의

+0

감사합니다 WhiteTiger 내가 NSLog (@ "% @", [dic objectForKey : @ "Item 0"]); – wseries

관련 문제