字典或数组writeToFile写入不成功原因及解决方式

2017-04-10  本文已影响0人  AnnieAri

当使用字典或者数组写入 writeToFile:@"xx/xx.plist" atomically:true]; 返回值为NO 一般有两个原因:

解决方式:

简单的序列化一下就可以了:比如

 NSData *data = [NSJSONSerialization dataWithJSONObject:message options:0 error:NULL];
 [data writeToFile:@"xx/xx.json" atomically:true];

这样字典或者数组里有空值 也可以存储

如果字典里有自定义对象的话 可以使用归档:

//obj是字典或者数组
[NSKeyedArchiver archiveRootObject:obj toFile:@"xx/xx.archive"];

但是一定要为你的自定义对象类遵守<NSCoding> 并且实现:

- (void)encodeWithCoder:(NSCoder *)aCoder;
- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder;
上一篇 下一篇

猜你喜欢

热点阅读