归档存储
- 使用步骤
- 遵守NSCoding协议
- 实现协议方法
- 通过NSKeyedArchive归档自定义对象
- 通过NSKeyedUnArchive解档自定义对象
#pragma mark - 实现协议方法
- (void)encodeWithCoder:(NSCoder *)encoder {
[encoder encodeObject:self.name forKey:@"user_name"];
[encoder encodeInt:self.age forKey:@"user_age"];
[encoder encodeBool:self.gender forKey:@"user_gender"];
}
- (instancetype)initWithCoder:(NSCoder *)decoder {
if (self = [super init]) {
self.name = [decoder decodeObjectForKey:@"user_name"];
self.age = [decoder decodeIntForKey:@"user_age"];
self.gender = [decoder decodeBoolForKey:@"user_gender"];
}
return self;
}
CZPerson *p1 = [[CZPerson alloc] init];
p1.name = @"jack";
p1.age = 20;
p1.gender = 1;
NSString *filePath = [self filePathWithFileName:@"gd.abc"];
NSString *filePath = [self filePathWithFileName:@"gd.abc"];
CZPerson *person = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath];