#warning 注意:对相同的Key赋值约等于一次覆盖,要保证每一个Key的唯一性
// NSUserDefaults 存储的对象全是不可变的(这一点非常关键,弄错的话程序会出bug),例如,如果我想要存储一个 NSMutableArray 对象,我必须先创建一个不可变数组(NSArray)再将它存入NSUserDefaults中去
NSMutableArray *mutableArray = [NSMutableArray arrayWithObjects:@"123",@"234",@"456", nil];
NSArray *array1 = [NSArray arrayWithArray:mutableArray];
NSUserDefaults *user2 = [NSUserDefaults standardUserDefaults];
[user2 setObject:array1 forKey:@"我们这里存放的一定是不可变的"];
// 取出数据是一样的,想要用NSUserDefaults中的数据给可变数组赋值
/*-------------- 错误方法 --------------*/
// NSMutableArray *mutablearray = [user objectForKey:@"我们这里存放的一定是不可变的"];
// //这样写后,mutableArray 就变成了不可变数组了,如果你要在数组中添加或删除数据就会出现bug
// NSLog(@"%@",mutablearray);
/*------ 正确 --------*/
NSMutableArray *mutablearray = [NSMutableArray arrayWithArray:[user2 objectForKey:@"我们这里存放的一定是不可变的"]];
NSLog(@"%@",mutablearray);
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
注:相关教程知识阅读请移步到IOS开发频道。










