2011-09-19 4 views
3

이 코드를 테스트했지만 SIGABRT 오류가 발생합니다.NSArray (또는 NSObject)로 NSData를 변환하는 방법

NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:data] 

NSData는 xml 형식의 plist 데이터입니다. 이 코드는 정상적으로 작동합니다.

[urlData writeToFile:[self docPath] atomically:YES]; 
array = [[NSMutableArray alloc] initWithContentsOfFile:[self docPath]]; 

어떻게 파일 변환없이 NSArray로 NSData를 변경할 수 있습니까?

답변

7

여기서는 저장된 데이터 파일의 파일 경로에 NSString *filepath을 채웠다 고 가정합니다. 도움이

NSPropertyListFormat format; 
NSData *dataFromFile = [NSData dataWithContentsOfFile:fileNameWithPath]; 
NSArray *arrayFromFile = nil; 
if (dataFromFile) { 
    arrayFromFile = [NSPropertyListSerialization propertyListFromData:dataFromFile 
                 mutabilityOption:NSPropertyListMutableContainers 
                   format:&format 
                 errorDescription:NULL]; 
} 

희망 ...

관련 문제