NSUserDefaults
用户轻量级的
NSUserDefaults对象是用来保存,恢复应用程序相关的偏好设置,配置数据等等。默认系统允许应用程序自定义它的行为去迎合用户的喜好。你可以在程序运行的时候从用户默认的数据库中读取程序的设置。同时NSUserDefaults的缓存避免了在每次读取数据时候都打开用户默认数据库的操作。可以通过调用synchronize方法来使内存中的缓存与用户默认系统进行同步。
-
存数据
//获取NSUserDefaults 对象 NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; // 存数据,不需要设置路径,NSUserDefaults 将数据保存在preferrences目录下 [userDefaults setObject:@"Jane" forKey:@"name"]; [userDefaults setObject:@"phone" forKey:@"1892233232"]; // 立刻保存同步数据,(如果不写这句话,会在将来某个时间点将数据保存在preference目录下) [userDefaults synchronize];
-
取数据
//获取NSUserDefaults对象 NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; //读取数据 NSString *userName = [userDefaults objectForKey:@"name"]; NSString *userPhone = [userDefaults objectForKey:@"phone"];
-
判断一个数据是否存储在NSUserDefaults 中
if ([userDefaults objectForKey:@"Kite"] == nil) { NSLog(@"没有存储Kite用户这个数据"); }
-
如果存储 key 相同,value 不同的数据,后面的数据会把前面的数据替换掉。
//执行完这行代码,文件中存储的数据就是现在的心value [[NSUserDefaults standardUserDefaults] setObject:@"phone" forKey:@"1877230212"]; [userDefaults synchronize];
- 这只是NSUserDefaults 简单的使用,它还支持存储数组NSArray,和字典NSDictionary,不过存的都是不可变的元素,如果数据类型是可变的要转换成不可变的存储
网友评论