一、归档简介
Plist和偏好设置都不能直接存储NSObject的自定义对象,归档存储任何类型的数据,但是在归档之前需要对数据进行coding,解析也要uncoding,需要遵循NSCoding协议
二、自定义对象NSCoding编解码设置
2.1、编码, 将对象编码进文件时会调用,定义将数据如何存储到文件
- (void)encodeWithCoder:(NSCoder *)aCoder
{
[aCoder encodeDouble:self.height forKey:@"height"];
}
2.2、解码,从文件中解析对象时会调用,定义将数据解析到哪里
- (id)initWithCoder:(NSCoder *)decoder
{
if (self = [super init]) {
self.height = [decoder decodeDoubleForKey:@"height"];
}
}
三、归档读写数据
3.1、写数据
[NSKeyedArchiver archiveRootObject:stu toFile:path] 将对象归档
3.2、读数据
FDStudent *stu = [NSKeyedUnarchiver unarchiveObjectWithFile:path] 读取数据