NSUserDefaults偏好设置数据存取

偏好设置是专门用来保存应用程序的配置信息的, 一般情况不要再偏好设置中保存其他数据
如果利用系统的偏好设置来存储数据, 默认就是存储在Preferences文件夹下面的
偏好设置会将所有的数据保存到同一个文件中

// 获取NSUserDefaults对象
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
// 保存数据(如果设置数据之后没有同步, 会在将来某一时间点自动将数据保存到Preferences文件夹下面)
[defaults setObject:@"solozyx" forKey:@"name"];
[defaults setObject:@"man" forKey:@"gender"];
[defaults setInteger:99 forKey:@"age"];
[defaults setDouble:172.1 forKey:@"height"];
// 让NSUserDefaults立刻保存数据
[defaults synchronize];

注意:UserDefaults设置数据时,不是立即写入,而是根据时间戳定时地把缓存中的数据写入本地磁盘。所以调用了setXXX 方法之后数据有可能还没有写入磁盘应用程序就终止了。出现以上问题,可以通过调用synchornize方法强制写入

[defaults synchornize];
// 1.获取NSUserDefaults
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
// 2.通过NSUserDefaults获取保存的数据
NSString *name = [defaults objectForKey:@"name"];
NSString *gender = [defaults objectForKey:@"gender"];
int age = (int)[defaults integerForKey:@"age"];
float height = (float)[defaults floatForKey:@"height"];
NSLog(@"%@", name);
NSLog(@"%@", gender);
NSLog(@"%d", age);
NSLog(@"%f", height);

//2016-08-23 13:49:08.303 偏好设置[88739:1309541] solozyx
//2016-08-23 13:49:08.303 偏好设置[88739:1309541] man
//2016-08-23 13:49:08.303 偏好设置[88739:1309541] 99
//2016-08-23 13:49:08.304 偏好设置[88739:1309541] 172.100006
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容