"Presidents.plist"파일에 저장된 아카이브가 있습니다. 그것은 존재하고 나는 pathForResource
방법을 사용하여 찾을 수 있습니다. 또한 initWithContentsOfFile
메서드를 사용하여 NSData
데이터를 가져 와서 데이터를 가져옵니다. 문제는 이제이 코드 라인에 있습니다.NSKeyedUnarchiver decodeObjectForKey null 클래스를 반환합니다.
NSString *path = [[NSBundle mainBundle] pathForResource:@"Presidents"
ofType:@"plist"];
NSData *data;
NSKeyedUnarchiver *unarchiver;
data = [[NSData alloc] initWithContentsOfFile:path];
unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
id presidents = [unarchiver decodeObjectForKey:@"Presidents"];
어떤 이유로 나는 예상되는 NSArray 클래스 대신 null 클래스를 반환합니다. 아무도 나에게 이런 일이 일어나는 이유를 말할 수 있습니까? 어떻게이 딜레마를 해결할 수 있습니까? 나는이 같은 수업을 받고 있어요
...
NSLog(@"presidents class = %@", NSStringFromClass([presidents class]));
친구를 시도! 당신은 친구의 권리가있어? 나는 이것을했다. NSMutableDictionary dict = [unarchiver decodeObjectForKey : @ "Presidents"];'그리고 그것을 로그 아웃했다. 출력은'dict = (null)'; 반면에, plist의 내용은 배열입니다. 하지만 null도 반환합니다. – jovhenni19
나는 질문을 업데이트했다. 그것을 보라. 고맙습니다! – jovhenni19