[self.bookarray writeToFile:[self filename] atomically:YES];
2、对象写入数组
对象没有实现nscoding协议,程序不知道如何编码/解码对象数据
-(void)encodeWithCoder:(NSCoder *)aCoder
{
}
-(id)initWithCoder:(NSCoder *)aDecoder
{
}
然后归档器来归档对象,保存其数据
序列化 :[NSKeyedArchiver archiveRootObject:book toFile:[self filename]];
反序列化:[NSKeyedUnarchiver unarchiveObjectWithFile:[self filename]];
3、当有多个不同对象,或者是对象数组需要本地存储的话
以上2种方法都不能实现
就需要用到NSMutableData
NSMutableData *data=[NSMutableData data];
2、NSPropertyListSerializat
主要由2种方法
将字典数据存为Nsdata
[NSPropertyListSerializat
反序列化得到相应的字典数据
[NSPropertyListSerializat
3、NSJSONSerialization
序列化为data
[NSJSONSerialization dataWithJSONObject:[model dict] options:0 error:nil]
反序列化
[NSJSONSerialization JSONObjectWithData:data options:0 error:nil]
以上3种,在对字典数据序列化的情况下,进行对比,有测试显示其序列化的速度 依次是NSJSONSerialization,NSPropertyListSerializat
https://github.com/randomsequence/NSserialisationTestsNSserialisationTests
联系客服