如何将NSData转换为NSArray(或NSObject)

问题描述 投票:0回答:1

我确实测试了这段代码,但它导致 SIGABRT 错误。

NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:data]

NSData 是 xml 格式的 plist 数据。这段代码运行良好。

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

如何在不转换文件的情况下将 NSData 更改为 NSArray?

iphone ios plist nsdata nskeyedarchiver
1个回答
8
投票

这假设您已使用保存的数据文件的文件路径填充

NSString *filepath

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

希望有帮助...

© www.soinside.com 2019 - 2024. All rights reserved.