2011-09-19 1 views
3

Я проверил этот код, но это вызвало ошибку SIGABRT.Как преобразовать NSData в NSArray (или NSObject)

NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:data] 

NSData - данные plist с xml-форматом. Этот код работает отлично.

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

Как изменить NSData на NSArray без преобразования файлов?

ответ

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]; 
} 

Надежда, что помогает ...