2011-08-28 2 views
0

"병원"이라는 plist를 만들었습니다. 첫 번째 행을 세 개의 항목이있는 배열로 삽입했습니다. 내 코드와 뭐가 잘못plists - iOS 개발 (NSString)

:

NSArray *hospitals = [[NSArray alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Hospitals" ofType:@"plist"]]; 
    NSString *first = [[NSString alloc] initWithFormat:@"%@", [hospitals objectAtIndex:0]]; 
    NSLog(@"%@",first); 

이 결과로 나 (널)을주고있다!

+0

설명 제목. –

답변

0

이 시도 :

NSString *errorDesc = nil; 
NSPropertyListFormat format; 
NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:[[NSBundle mainBundle] pathForResource:@"Hospitals" ofType:@"plist"]]; 
NSMutableDictionary *properties = (NSMutableDictionary *)[NSPropertyListSerialization propertyListFromData:plistXML mutabilityOption:NSPropertyListMutableContainersAndLeaves format:&format errorDescription:&errorDesc]; 
NSArray *hospitals = (NSArray *)[properties valueForKey:@"names"]; 
NSString *first = [hospitals objectAtIndex:0]; 
NSLog(@"%@",first); 
+0

이것이 작동하지 않았습니다! plz는 최고의 답변에 대한 코멘트를 읽었습니다! – user916316

+0

여기 plist 내용을 입력하십시오. – Nekto

+0

이름 - 배열 - (3 항목) 항목 0 - 문자열 - 처음 항목 1 - 문자열 - 초 항목 2 - 문자열 - 셋째 – user916316

1

하나 ("복사 자원은"대상의 빌드 단계 확인) 존재하지 않는 속성 목록 파일은 다른 이름 (아이폰 OS '파일 시스템의 경우이므로주의를 가지고), 속성 목록이 아님 (구문 오류가있을 수 있음) 읽을 수 없거나 속성 목록의 루트가 배열이 아니라 사전입니다.

hospitals == nil 위의 경우 중 하나가 문제가됩니다.

+0

-i는 (복사 자원) 내에있는 plist를 찾았습니다. -i는 대소 문자를 구분했습니다. - plist root는 배열입니다! 나는 잘못한 것을 몰라! & 병원 == nil은 TRUE입니다. S – user916316

+0

@ user916316 프로젝트를 치료하고 다시 빌드하십시오. –

+0

청소도 도움이되지 않았습니다 !! – user916316