NSUserDefaults存储自定义对象

只要操作是将自定义对象转换为NSData类型再进行NSUserDefaults存储。

将自定义对象变成NSData类型 ,那么就必须实现归档:

这里要实现,在.h文件中申明NSCoding协议,再 在.m中实现encodeWithCoder方法 和initWithCoder方法就可以了 。

参考一下:

.m文件修改
.h文件修改

存储的方式为:

NSData *data = [NSKeyedArchiver archivedDataWithRootObject:useShenFen];
[[NSUserDefaults standardUserDefaults] setObject:data forKey:@"key"];

读取的方式为:

YYChangeIdentityModel *model;
NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:@"key"];
if (!data) {
  model = [[YYChangeIdentityModel alloc] init];
}
else {
  model = [NSKeyedUnarchiver unarchiveObjectWithData:data];
}

你可能感兴趣的:(NSUserDefaults存储自定义对象)