저는이 방법을 잠시 동안 사용해 왔기 때문에 내 문제가 정확히 무엇인지 모르겠습니다.어레이가 plist에서 데이터를로드하지 않습니다.
기본적으로 제목에 나와 있습니다. 그것은 표시 "자원"그룹
NSString *myFile = [[NSBundle mainBundle] pathForResource:@"myList" ofType:@"plist"];
myArray = [[NSArray alloc]initWithContentsOfFile:myFile];
NSLog(@"%@", myArray);
(널)에 위치한 PLIST에서이 코드 데이터를로드합니다. 왜 그런지 알아?
동일한 ViewController에 다른 설정이 하나 있는데 제대로 작동합니다. 이 특정 plist하지만로드되지 않습니다. 그리고 나는 plist를 삭제하고 구조 문제가 아닌지 확인하기 위해 다른 하나의 복제물을 만들었습니다.
내가 잘못하고있는 중입니까? FileManager를 사용해야합니까?
업데이트 --------------------------------------------- ----------------------------
그래, 나는 내가 말하고자하는 것을 믿을 수 없다. lol
Xcode에서 plists를 편집하는 방법은 Xcode 3.x와 다릅니다. 이전 버전에서와 마찬가지로 plist의 루트를 선택하여 (Array, Dictionary 등) 원하는 w/e가되도록했습니다. 내 문제는 NSArray에로드하려고했던 plist가 실제로 사전. 그러나 나는 Xcode에서 이것을 결코 보지 못했고, TextEdit 또는 다른 텍스트 편집기를 사용하여 내용을 탐색하는 것 이외의 다른 방법을 알지 못합니다.
어리석은 말을해야합니다. XCode 3.x가하는 것처럼 XCode 4가 plist의 루트를 보여주지 않는 이유를 아는 사람이 있습니까?
엑스 코드 3.x를 : http://dl.dropbox.com/u/919254/XCode3.png
엑스 코드 4 : 당신이 무엇 http://dl.dropbox.com/u/919254/Screen%20shot%202011-04-10%20at%202.30.35%20AM.png
이것은 작동합니다 ... 왜 나는 이해하지 못합니다.plist의 구조는 나머지 파일들과 똑같은 구조입니다. : ( – MrShoot
plist의 최상위 객체가 배열 인 경우 plist를로드 할 때 * NSDictionary 또는 NSMutableDictionary를 사용할 수 없으며 그 반대의 경우도 있습니다. 이는 사용자 기본 설정의 문제가 아닙니다. OP 문제는 기본 plist의 최상위 객체가 배열이 아닌 사전 이었기 때문에 @ManuelDiaz가 잘못된 예제 plist 파일을 게시했습니다. – jlehr
명확한 설명 주셔서 감사합니다.이 정의되지 않은 동작이 발생했습니다. @Manuel Diaz의 업데이트가 Xcode 4가 plist root를 숨길 때까지 알지 못했습니까? – David