2011-09-19 21 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]]; 

ファイル変換なしで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]; 
} 

希望...

関連する問題