iOS对象的归档与解档
来源:互联网 发布:贵州省广电网络 编辑:程序博客网 时间:2024/04/30 02:59
类的归档与解档
Person *xiaoQ = [[Person alloc] init]; xiaoQ.name = @"xiaoQiang"; xiaoQ.age = 19; NSLog(@"%@",xiaoQ);
//NSKeyedArchiver 归档类
if([NSKeyedArchiver archiveRootObject:xiaoQ toFile:PATH]) { NSLog(@"归档成功"); } //archiveRootObject--> encodeWithCoder(如果当前类没实现,会崩溃)
//NSKeyedUnarchiver 解档类
Person *obj = [NSKeyedUnarchiver unarchiveObjectWithFile:PATH]; NSLog(@"obj = %@",obj); //unarchiveObjectWithFile --> initWithCoder
//归档与解档也是协议代理的设计模式完成的
//a. 系统完成部分 //1.系统定制NSCoding协议 //2.被代理者: NSKeyedArchiver //b. 自定义部分 //3.代理者: 遵守协议、实现协议方法、传入代理对象“xiaoQ”
//遵守协议
@interface Person : NSObject<NSCoding>
//实现协议方法
//实现协议的归档方法- (void)encodeWithCoder:(NSCoder *)coder{NSLog(@"进入归档");//归档数据: 参数1:归档内容 参数2: 自定义key[coder encodeObject:_name forKey:@"name"];[coder encodeInteger:_age forKey:@"age"];}//实现协议的解档方法-(id)initWithCoder:(NSCoder *)aDecoder{NSLog(@"进入解档");Person *per = [[Person alloc] init];//解档数据: 参数1: 自定义key,对应归档的keyper.name = [aDecoder decodeObjectForKey:@"name"];per.age = [aDecoder decodeIntegerForKey:@"age"];return per;}
0 0
- IOS 对象的归档与解档
- iOS对象的归档与解档
- iOS的归档与解档
- iOS开发之数据以及对象归档与解归档
- ios 对象归档解档 runtime实现
- iOS中复杂对象对象的归档返归档
- iOS经典讲解之复杂对象的数据持久化-归档与反归档
- iOS疯狂讲解之复杂对象的归档与反归档
- iOS swift-归档与解档
- iOS解档归档
- iOS 解档归档
- ios-归档解档
- ios 归档解归档
- iOS 数据的本地存储-对象归档
- iOS 对象的归档、解档 runtime
- iOS归档与反归档
- iOS归档与反归档
- Linux的归档与解归档
- ubuntu使用nohup命令运行jar文件
- php中使用session_set_save_handler(),session入库(mysql)机制
- 透明状态栏和透明导航栏
- 好吗好的-大冰-阅读日记
- NOIP专题复习——专题一:数据结构基础
- iOS对象的归档与解档
- VS2015中进行单元测试
- web前端之省市县三级联动
- 【51nod 1201】【DP + 思维】整数划分【将N分为若干个不同整数的和,求划分数】
- android中使用LinearGradient实现渲染效果
- java数组的定义与使用
- 最大流之EK算法
- java基础之Map集合的使用
- OpenGL缓冲区总结