大家都知道ios中数据持久化的方式有plist sqlite coredata nscoding
而nscoding不需要关心模型属性有多少个,是什么类型,不需要定义归档文件的规则。
下面给个类大家用,很简单就可以使用nscoding归档
#import "property.h" #import "CXLCodingHelper.h" @implementation property - (id)initWithCoder:(NSCoder *)aDecoder { self = [super init]; if (!self) { return nil; } self = [CXLCodingHelper decodeClass:self decoder:aDecoder]; return self; } -(void)encodeWithCoder:(NSCoder *)aCoder { [CXLCodingHelper encodeClass:self encoder:aCoder]; }
https://github.com/becomedragon/CXLCodingHelper
使用的时候:
归档:[NSKeyedArchiver archiveRootObject:归档对象 toFile:filePath];
解档: [NSKeyedUnarchiver unarchiveObjectWithFile:filePath]; (返回归档传入的类型)