[NSUserDefaults standardUserDefaults]
来源:互联网 发布:计算器的java代码 编辑:程序博客网 时间:2024/05/29 02:44
NSUserDefaults用于存储数据量小的数据,例如用户配置。并不是所有的东西都能往里放的,只支持:NSString,NSNumber,NSDate, NSArray, NSDictionary,自定义类可以通过NSData的方式进行存储,当然要实现NSCoding这个protocol才行,NSObject<NSCoding>,详细方法可以查看类文件。
NSUserDefaultsstandardUserDefaults用来记录一下永久保留的数据非常方便,不需要读写文件,而是保留到一个NSDictionary字典里,由系统保存到文件里, 系统会保存到该应用下的/Library/Preferences/gongcheng.plist文件中。需要注意的是如果程序意外退出,NSUserDefaultsstandardUserDefaults数据不会被系统写入到该文件,所以,要使用[[NSUserDefaultsstandardUserDefaults] synchronize]命令直接同步到文件里,来避免数据的丢失。
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"value"forKey:@"key"];
//[[NSUserDefaults standardUserDefaults]setObject:@"value" forKey:@"key"];
[defaults synchronize];//保存
NSString *testStr = [defaults objectForKey:@"key"];
NSLog(@"testStr is: %@",testStr);
通过查看官方文档。UserDefaults不是立即写入,而是根据时间戳定时的把缓存中的数据写入本地磁盘。所以调用了set方法之后数据有可能还没有写入磁盘应用程序就终止了。出现以上问题。可以通过调用synchornize方法强制写入。
在使用NSUserDefaults的时候,
NSDictionary* defaults = [[NSUserDefaults standardUserDefaults] dictionaryRepresentation];
NSLog(@"Defaults: %@", defaults);
可以获得设备上的所有的NSUserDefaults的设置。
也可以保存自定义类,分享个链接http://zani.iteye.com/blog/1431239
- NSUserDefaults standardUserDefaults
- [NSUserDefaults standardUserDefaults]
- NSUserDefaults standardUserDefaults
- NSUserDefaults standardUserDefaults的使用
- NSUserDefaults standardUserDefaults使用注意事项
- NSUserDefaults standardUserDefaults的使用
- NSUserDefaults standardUserDefaults的使用
- NSUserDefaults standardUserDefaults的使用
- NSUserDefaults standardUserDefaults的使用
- NSUserDefaults standardUserDefaults的使用
- NSUserDefaults standardUserDefaults的使用
- NSUserDefaults standardUserDefaults的使用
- NSUserDefaults standardUserDefaults使用注意事项
- NSUserDefaults standardUserDefaults使用注意事项
- NSUserDefaults standardUserDefaults的使用
- NSUserDefaults standardUserDefaults的使用
- NSUserDefaults standardUserDefaults的使用
- NSUserDefaults standardUserDefaults的使用
- 大端字节序与小端字节序
- 理解linux time命令的输出(What do ‘real’, ‘user’ and ‘sys’ mean?)
- 多播与广播
- IP划分的细节
- 堆 栈的区别
- [NSUserDefaults standardUserDefaults]
- 55个常用的JavaScript网页脚本
- C++头文件规则介绍
- ubuntu 12.04如何禁用guest用户 [
- 自己总结的一些vim的用法
- 利用HTTP协议的特性进行拒绝服务攻击的一些构思
- C语言中关键字auto、static、register、const、volatile、ex...
- AIX查看硬盘大小及查看文件系统在磁盘上的分布
- 寄存器与存储器的区别