自定义类的归档
需要在自定义类中实现NSCode的两个方法,同时的声明实现<NSCoding>协议。
- (id)initWithCoder:(NSCoder *)coder { if (self = [super init]) { _name = [coder decodeObjectForKey:@"name"]; _signatureURL = [coder decodeObjectForKey:@"signatureURL"]; } return self; } -(void)encodeWithCoder:(NSCoder *)coder { [coder encodeObject:_name forKey:@"name"]; [coder encodeObject:_signatureURL forKey:@"signatureURL"]; }
然后用
[NSKeyedArchiver archiveRootObject:object toFile:filePath];
来归档类文件,其中object为需要归档的自定义类,filePath为归档后的路径。
用反归档
[NSKeyedUnarchiver unarchiveObjectWithFile:filePath];
来重新获得对象。