iOS NSUserDefaults简介及使用
2015-12-01 17:19
218 查看
NSUserDefaults类提供了一个与默认系统进行交互的编程接口。NSUserDefaults对象是用来保存,恢复应用程序相关的偏好设置,配置数据等等。默认系统允许应用程序自定义它的行为去迎合用户的喜好。你可以在程序运行的时候从用户默认的数据库中读取程序的设置。同时NSUserDefaults的缓存避免了在每次读取数据时候都打开用户默认数据库的操作。可以通过调用synchronize方法来使内存中的缓存与用户默认系统进行同步。
NSUserDefaults类提供了非常方便的方法来获取常用的类型,例如 floats,doubles,intergers,Booleans,URLs。所以一个NSUserDefaults的对象必须是属性表,这也就是说 我们可以存储NSData,NSString,NSNUmber,NSDate,NSArray,NSDictionary这些实例。如果你想存储其他类 型的对象,你要将其归档并创建一个NSData来实现存储。
从NSUserDefaults返回的值是不可改变的,即便是你在存储的时候使用的是可变的值。例如你使用mutable string做为“MyStringDefault”的值,当你做使用stringForKey:方法获取的值,这个值仍然是不可变的。
NSUserDefaults是单例,同时也是线程安全的。
在使用NSUserDefaults的时候,先看下下面的代码:
是用来获取设备上的所有的NSUserDefaults的设置。
上面代码输出了
如果想单独看某个key的设置,例如:
会输出
在看下面的代码
代码意思是判断NSUserDefaults的“message”key 在dictionaryRepresentation中是否存在,如果不存在就
设置“message”key为This_is_my_default_message。
在加上句[[NSUserDefaults standardUserDefaults] synchronize];,这样这个设置就存到默认参数中了。
NSUserDefaults类提供了非常方便的方法来获取常用的类型,例如 floats,doubles,intergers,Booleans,URLs。所以一个NSUserDefaults的对象必须是属性表,这也就是说 我们可以存储NSData,NSString,NSNUmber,NSDate,NSArray,NSDictionary这些实例。如果你想存储其他类 型的对象,你要将其归档并创建一个NSData来实现存储。
从NSUserDefaults返回的值是不可改变的,即便是你在存储的时候使用的是可变的值。例如你使用mutable string做为“MyStringDefault”的值,当你做使用stringForKey:方法获取的值,这个值仍然是不可变的。
NSUserDefaults是单例,同时也是线程安全的。
在使用NSUserDefaults的时候,先看下下面的代码:
上面代码输出了
设置“message”key为This_is_my_default_message。
在加上句[[NSUserDefaults standardUserDefaults] synchronize];,这样这个设置就存到默认参数中了。
相关文章推荐
- iOS NSUserDefaults简介及使用
- ios pch文件内 常用的各类宏定义
- 【iOS】stringWithFormat 保留小数点位数 float double
- iOS——关于应用程序生命周期问题
- IOS与服务器交互POST 和 GET
- Xcode6以后中怎么添加空工程模板
- iOS开发之小文件下载、大文件下载、断点下载
- iOS学习笔记50-IOS后台运行 之 后台播放音乐
- iOS 游戏渠道SDK 抽象工程封装(上)
- iOS常用的四种数据持久化
- Core Data 批量更新(iOS 8 特性)
- 如何让iOS 保持界面流畅
- Core Data 异步查询(iOS 8 特性)
- iOS 保持界面流畅的技巧
- Core Data 简单查询、
- iOS 多线程的具体用法
- 【iOS学习笔记 15-12-1】用collectionView解决大量button的性能问题
- iOS8.0 使用Photos.framework对相册的常用操作
- IOS 退出登录的两种方法
- iOS中Core Data的使用