自定义对象归档(解档)
来源:互联网 发布:安卓免费源码网 编辑:程序博客网 时间:2024/06/05 05:16
首先自定义一个Person对象
person.h里的内容 (注意要遵守NSCoding协议)
@interface Person : NSObject <NSCoding>@property (nonatomic,copy) NSString *name;@property (nonatomic,assign) NSUInteger age;@end
Person.m里要实现归档、解档的方法
@implementation Person// 在对象归档的时候调用// 那些属性需要归档// 这些属性怎么归档- (void)encodeWithCoder:(NSCoder *)aCoder{ [aCoder encodeObject:_name forKey:@"name"]; [aCoder encodeInteger:_age forKey:@"age"];}// 在对象解档的时候调用// 哪些属性需要解档// 这些属性怎么解档- (instancetype)initWithCoder:(NSCoder *)aDecoder{ if (self = [super init]) { _name = [aDecoder decodeObjectForKey:@"name"]; _age = [aDecoder decodeIntegerForKey:@"age"]; } return self;}@end
在SB中设置两个Button,存储和读取。然后在ViewController.m中实现它们的点击事件
- (IBAction)save:(UIButton *)sender{ // 定义一个Person对象 Person *p1 = [[Person alloc] init]; p1.name = @"zhansan"; p1.age = 20; // 获得Cache的路径 NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject]; // 拼接文件路径 NSString *filePath = [cachePath stringByAppendingPathComponent:@"person.data"]; // 归档Person对象 [NSKeyedArchiver archiveRootObject:p1 toFile:filePath];}- (IBAction)read:(UIButton *)sender{ // 获得Cache的路径 NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject]; // 拼接文件路径 NSString *filePath = [cachePath stringByAppendingPathComponent:@"person.data"]; // 解档Person对象 Person *p = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath]; NSLog(@"%@",p.name);}
1 0
- 自定义对象归档(解档)
- 自定义对象归档、解档
- 归档自定义对象
- ios自定义对象(或自定义数据类型)归档
- 对象归档 解档
- Object-C中自定义对象的归档
- iOS开发之自定义对象归档
- objective-C 自定义对象归档的实现
- 利用runtime实现自定义对象归档总结
- objective-C学习 自定义对象归档 archiver2
- 【Objective-C基础】自定义对象归档
- 归档自定义对象用到的编码解码
- Objective-C 对象进阶:自定义对象的归档
- iOS 系统对象和自定义对象的归档Archiver
- 对象归档操作(一)
- 对象归档
- 对象归档
- 对象归档
- 5-34 通讯录的录入与显示
- zookeeper(二) --- 基本概念
- git学习记录
- 面试心得与总结---BAT、网易、蘑菇街
- Linux 配置java环境
- 自定义对象归档(解档)
- JavaScript中函数参数的值传递和引用传递
- python初涉
- mysql-5.6.29-winx64 解压版
- Mac OS X 安装 Zabbix Agent
- Nginx负载平衡 + Tomcat + 会话存储Redis配置要点
- thinkphp 关联模型学习笔记
- Spring中bean的作用域
- 算法导论小结(一)