NSUserDefaults 存储可变数组,对象。
2017-05-26 12:28
197 查看
NSUserDefaults :是数据持久化的一种方式,用途比较广泛。
如何用它存储对象呢?对象是不能直接存储的,但是NSUserDefaults可以存储NSData类型的数据,所以要存储对象需要先把对象转化成NSData类型数据。NSData *data = [NSKeyedArchiver archivedDataWithRootObject:model];这样就可以存储了。但是需要记得对象要遵循NSCopying,NSCoding协议。
NSUserDefaults 存储可变数组。
YFMapdataModel *model = [[YFMapdataModel alloc] init];
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:model];
NSMutableArray *likeArray = [[[NSUserDefaults standardUserDefaults]objectForKey:@"likeArray"] mutableCopy];
if (!likeArray) {
likeArray = [[NSMutableArray alloc]initWithCapacity:0];
}
[likeArray addObject:data];
NSArray *saveArray = [NSArray arrayWithArray:likeArray];
[[NSUserDefaults standardUserDefaults]setObject:saveArray forKey:@"likeArray"];
[[NSUserDefaults standardUserDefaults] synchronize];
其实就是把数组取出后,转换成可变数组,存储是再转换成不可变的。
如何用它存储对象呢?对象是不能直接存储的,但是NSUserDefaults可以存储NSData类型的数据,所以要存储对象需要先把对象转化成NSData类型数据。NSData *data = [NSKeyedArchiver archivedDataWithRootObject:model];这样就可以存储了。但是需要记得对象要遵循NSCopying,NSCoding协议。
NSUserDefaults 存储可变数组。
YFMapdataModel *model = [[YFMapdataModel alloc] init];
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:model];
NSMutableArray *likeArray = [[[NSUserDefaults standardUserDefaults]objectForKey:@"likeArray"] mutableCopy];
if (!likeArray) {
likeArray = [[NSMutableArray alloc]initWithCapacity:0];
}
[likeArray addObject:data];
NSArray *saveArray = [NSArray arrayWithArray:likeArray];
[[NSUserDefaults standardUserDefaults]setObject:saveArray forKey:@"likeArray"];
[[NSUserDefaults standardUserDefaults] synchronize];
其实就是把数组取出后,转换成可变数组,存储是再转换成不可变的。
相关文章推荐
- NSUserDefaults 存储可变数组问题
- NSUserDefaults 存储可变数组问题
- iOS NSUserDefaults 存储可变数组
- NSUserDefaults 存储可变数组问题
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象 - lady-奕奕的个人空间 - 开源中国社区
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 存储类型 及存储对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 数据存储及自定义对象的存储
- NSUserDefaults 存储自定义对象
- iPhone/iOS中保存自定义对象(Custom Object/Custom Class)的数组(NSMutableArray/NSArray)到NSUserDefaults
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- swift学习笔记(一)NSUserDefaults存储对象的方法