iOS --归档存储自定义对象
2016-05-02 21:34
567 查看
#import <Foundation/Foundation.h> @interface User : NSObject<NSCoding> //遵循NSCoding协议 /** name */ @property (nonatomic, copy) NSString *name; /** age */ @property (nonatomic, assign) NSInteger age; //自定义初始化方法 - (instancetype)initWithName:(NSString *)name age:(NSInteger)age; @end ----------- #import "User.h" @implementation User //初始化 - (instancetype)initWithName:(NSString *)name age:(NSInteger)age { self = [super init]; if (self) { self.name = name; self.age = age; } return self; } //归档 - (void)encodeWithCoder:(NSCoder *)aCoder { [aCoder encodeObject:self.name forKey:@"name"]; [aCoder encodeInteger:self.age forKey:@"age"]; } //反归档 - (instancetype)initWithCoder:(NSCoder *)aDecoder { self = [super init]; if (self) { self.name = [aDecoder decodeObjectForKey:@"name"]; self.age = [aDecoder decodeIntegerForKey:@"age"]; } return self; } @end
//归档 编码 User *user = [[User alloc] initWithName:@"张三" age:18]; NSData *userData = [NSKeyedArchiver archivedDataWithRootObject:user]; //反归档 解码 User *user1 = [NSKeyedUnarchiver unarchiveObjectWithData:userData];
相关文章推荐
- ios本地数据存取
- iOS AVPlayer 学习
- iOS 视图控制器转场详解
- 华硕fl5600l重装系统
- iOS中黄色文件夹和蓝色文件夹的区别
- iOS开发------使用Xcode编译器定位抛出异常的位置
- iOS开发中,tintColor和 backgroundColor的区别
- iOS中代码性能测试的方法
- BIOS 深入学习 转
- 《Motion Design for iOS》(七)
- iOS 开发小技巧
- iOS视图控制器编程指南 --- 实现一个容器视图控制器
- iOS-View视图的生命历程
- iOS 上传自己的库到cocoapod
- BIOS、MBR、PBR等基础知识,兼谈U盘、移动硬盘以及操作系统的安装与启动基本原理
- XCode iOS Simulator 模拟器
- iOS CMTimeMake 和 CMTimeMakeWithSeconds 学习
- iOS AFNetworking使用技巧与问题
- iOS AFNetworking使用技巧与问题
- iOS中的KVC和KVO