整理--iOS如何把一个包含自定义对象的数组序列化到磁盘
2016-03-25 16:52
211 查看
想把一个包含自定义的对象的数组写到磁盘
如下:
User *user1 = [User alloc] init];
User *user2 = [User alloc] init];
NSArray *userArr = @[user1,user2];
方法如下:
先将自定义对象实现NSCoding协议,然后在.m里面实现下面两个方法。
再然后用NSKeyedArchiver就可以了。
如下:
User *user1 = [User alloc] init];
User *user2 = [User alloc] init];
NSArray *userArr = @[user1,user2];
方法如下:
先将自定义对象实现NSCoding协议,然后在.m里面实现下面两个方法。
-(instancetype)initWithCoder:(NSCoder *)aDecoder{ self = [super init]; if (self) { self.objectID = [aDecoder decodeObjectForKey:@"objectID"]; self.createdAt = [aDecoder decodeObjectForKey:@"createdAt"]; self.updatedAt = [aDecoder decodeObjectForKey:@"updatedAt"]; } return self; } -(void)encodeWithCoder:(NSCoder *)aCoder{ [aCoder encodeObject:self.objectID forKey:@"objectID"]; [aCoder encodeObject:self.createdAt forKey:@"createdAt"]; [aCoder encodeObject:self.updatedAt forKey:@"updatedAt"]; }
再然后用NSKeyedArchiver就可以了。
NSData* tempArchive = [NSKeyedArchiver archivedDataWithRootObject:userArr]; NSArray* arr = [NSKeyedUnarchiver unarchiveObjectWithData:tempArchive];
相关文章推荐
- xib系列---iOS 8 AutoLayout与Size Class
- iOS程序猿之富文本(NSMuttableAttstring)
- iOS CALayer中position和anchorPoint的联系和区别
- Obj-C语言开发iOS项目使用反射减少代码工作 (转载他人)
- iOS 图片模糊处理和自动获取图片尺寸
- ios数据缓存方法
- iOS 开发好用工具
- iOS程序猿之毛玻璃效果
- iOS中数组遍历的方法及比较
- IOS锁定屏幕旋转
- IOS锁定屏幕旋转
- 转载 -- iOS数据持久化存储
- ios static cell 不显示
- iOS应用程序状态切换相关
- iOS中使用int类型会出现的问题和解决办法
- IOS开发常用函数
- iOS7 TextKit 框架的简单实用
- iOS 本地推送通知
- IOS 保存图片至相册
- iOS中的一些细节