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

我想把一个包含自定义的对象的数组写到磁盘
如:
User*user1=[Useralloc]init];
User*user2=[Useralloc]init];
NSArray*userArr=@[user1,user2];
该怎么做?
千巷猫影
浏览 349回答 2
2回答

慕无忌1623718

你的自定义对象实现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就可以了

跃然一笑

NSData*tempArchive=[NSKeyedArchiverarchivedDataWithRootObject:userArr];NSArray*arr=[NSKeyedUnarchiverunarchiveObjectWithData:tempArchive];
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript