1、NSUserDefault的使用:
作用:NSUserDefault类提供了一个与默认系统进行交互的编程接口。NSUserDefault
对象是用来保存,恢复应用程序相关的偏好设置,配置数据等等。默认系统允许应用程序自定义它的行为去迎合用户的喜好。你可以在程序运行的时候从用户默认的数据库中读取程序的设置。同时NSUserDefault的缓存避免了每次读取数据的时候都打开用户默认数据库的操作。可以通过调用synchronize方法来使内存中的缓存与用户默认系统进行同步。
原理:NSUserDefault是用户轻量级的数据持久化,主要用于保存用户程序的配置等信息,以便下次启动程序后能恢复上次的设置。因为是写到了硬盘上,所以会出现用多了会造成系统浪费,内存占用过大等问题。
2、数据是一“键值对”形式保存的,因此需要通过key来读取或者保存数据
3、可以存储NSData,NSString,NSNumber,NSDate,NSArray,NSDictionary这些事例,如果想存储其他类型的对象,要将其归档并创建一个NSData来实现存储
4、NSUserdefaults返回的值是不可改变的,
5、NSUserDefaults是单例,同时也是线程安全的
6、NSUserDefaults的基本使用,存储数据
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
[userDefault setInteger:1 forKey:@"number"];
[userDefault setValue:@"aa" forKey:@"string"];
NSData *objColor = [NSKeyedArchiver archivedDataWithRootObject:[UIColor whiteColor]];
[userDefault setObject:objColor forKey:@"corlor"];
//下面方法用来实现“数据即时写入”
[userDefault synchronize];
//用来获取设备上的所有的NSUserDefaults的设置
NSDictionary *defaultDic = [userDefault dictionaryRepresentation];