为了账号安全,请及时绑定邮箱和手机立即绑定

ios如何把一个包含自定义对象的数组序列化到磁盘?

ios如何把一个包含自定义对象的数组序列化到磁盘?

30秒到达战场 2019-04-19 16:13:12
我想把一个包含自定义的对象的数组写到磁盘如:User*user1=[Useralloc]init];User*user2=[Useralloc]init];NSArray*userArr=@[user1,user2];该怎么做?
查看完整描述

2 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

你的自定义对象实现NSCoding协议,然后在.m里面实现下面两个方法
-(instancetype)initWithCoder:(NSCoder*)aDecoder{
self=[superinit];
if(self){
self.objectID=[aDecoderdecodeObjectForKey:@"objectID"];
self.createdAt=[aDecoderdecodeObjectForKey:@"createdAt"];
self.updatedAt=[aDecoderdecodeObjectForKey:@"updatedAt"];
}
returnself;
}
-(void)encodeWithCoder:(NSCoder*)aCoder{
[aCoderencodeObject:self.objectIDforKey:@"objectID"];
[aCoderencodeObject:self.createdAtforKey:@"createdAt"];
[aCoderencodeObject:self.updatedAtforKey:@"updatedAt"];
}
再然后用那个NSKeyedArchiver就可以了
                            
查看完整回答
反对 回复 2019-04-19
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

NSData*tempArchive=[NSKeyedArchiverarchivedDataWithRootObject:userArr];
NSArray*arr=[NSKeyedUnarchiverunarchiveObjectWithData:tempArchive];
                            
查看完整回答
反对 回复 2019-04-19
  • 2 回答
  • 0 关注
  • 595 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信