介绍:很多iOS应用都支持偏好设置,比如保存用户名、密码、字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能
l每个应用都有个NSUserDefaults实例,通过它来存取偏好设置
l比如,保存用户名、字体大小、是否自动登录
偏好设置NSUserDefaults
底层就是封闭了一个字典,利用字典的方式生成plist文件
好处:不需要关心文件名(它会自动生成)快速进行键值对存储.
步骤1 NSUserDefaults*defaults = [NSUserDefaultsstandardUserDefaults];
步骤2[defaultssetObject:@“gaolin"forKey:@"username"];
[defaultssetFloat:18.0fforKey:@"text_size"];
[defaultssetBool:YESforKey:@"auto_login"];
同步,立即写入文件.
步骤3[defautlssynchronize];
存是用什么key存的,读的时候就要用什么key值取
存的时候使用的什么类型,取的时候也要用什么类型.
l读取上次保存的设置
步骤1NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
步骤2NSString *username = [defaultsstringForKey:@"username"];
float textSize = [defaultsfloatForKey:@"text_size"];
BOOL autoLogin = [defaultsboolForKey:@"auto_login"];
l注意1:UserDefaults设置数据时,不是立即写入,而是根据时间戳定时地把缓存中的数据写入本地磁盘。所以调用了set方法之后数据有可能还没有写入磁盘应用程序就终止了。出现以上问题,可以通过调用synchornize方法强制写入
[defaults synchornize];
l注意2: 取出数据的时候直接使用NSUserDefaults的实例对象 对象方法拿到返回值 并【赋值】