标签:
1.首先对象类遵守NSCoding
实现:代理方法
// 编码 **********对应于归档(存)的时候*********
-(void)encodeWithCoder:(NSCoder *)aCoder
{
[aCoder encodeObject:self.name forKey:@"name"];
[aCoder encodeObject:self.sex forKey:@"sex"];
}
// 解码(反编码---取值)
-(id)initWithCoder:(NSCoder *)aDecoder
{
self = [super init];
if (self) {
self.name = [aDecoder decodeObjectForKey:@"name"];
self.sex = [aDecoder decodeObjectForKey:@"sex"];
}
return self;
}
2.归档---把复杂对象存入沙盒中
初始化实例对象---路径(文件名)--- 初始化NSKeyedArchiver---利用初始化的NSKeyedArchiver对复杂对象进行编码---结束编码---存入沙盒
3.反归档---从沙盒中读取复杂对象
路径---根据路径取出二进制(NSData)---创建NSkeyedUnarchiver ---解码---结束反归档
4.简单对象的读写
字符串(写)
NSData(写)
简单对象(读)
/**
IOS中只有NSString NSArray NSDictionry NSData(以及他们的可变类)可以直接在沙盒里面写入,其他的不可以***数组
字典等容器里面存储的数据必须是上述的数据
*/
标签:
原文地址:http://www.cnblogs.com/bachl/p/4671901.html