1、概述
很多ios应用都支持偏好设置,比如保存用户名、密码、字体大小等设置,ios提供了一套标准的解决方案来为应用加入偏好设置功能。
每个应用都有个nsuserdefaults实例,通过它来存取偏好设置。比如,保存用户名、字体大小、是否自动登录。
nsuserdefaults *defaults = [nsuserdefaults standarduserdefaults];
[defaults setobject:@"itcast" forkey:@"username"];
[defaults setfloat:18.0f forkey:@"text_size"];
[defaults setbool:yes forkey:@"auto_login"];
[defaults synchronize];
// 3.立刻同步,使内存中数据与偏好设置中数据同步,建议调用一下
2、读取上次保存的设置
nsuserdefaults *defaults = [nsuserdefaults standarduserdefaults];
nsstring *username = [defaults stringforkey:@"username"];
float textsize = [defaults floatforkey:@"text_size"];
bool autologin = [defaults boolforkey:@"auto_login"];
注意:userdefaults设置数据时,不是立即写入,而是根据时间戳定时地把缓存中的数据写入本地磁盘。所以调用了set方法之后数据有可能还没有写入磁盘应用程序就终止了。出现以上问题,可以通过调用synchornize方法强制写入
[defaults synchornize];