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

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

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

千巷猫影 2019-04-10 20:48:48
我想把一个包含自定义的对象的数组写到磁盘如:User*user1=[Useralloc]init];User*user2=[Useralloc]init];NSArray*userArr=@[user1,user2];该怎么做?
查看完整描述

2 回答

?
慕无忌1623718

TA贡献1744条经验 获得超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-10
?
跃然一笑

TA贡献1826条经验 获得超6个赞

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

添加回答

举报

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