常见应用数据存取之偏好设置
偏好设置(一般用于软件的设置数据)
很多iOS应用都支持偏好设置,比如保存用户名、密码、字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能
每个应用都有个一NSUserDefaults实例,通过它来存取偏好设置
比如,保存用户名、字体大小、是否自动登录、声音的开启与关闭以及主题,背景等设定
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@“user" forKey:@"username"];
[defaults setFloat:18.0f forKey:@"text_size"];
[defaults setBool:YES forKey:@"auto_login”];
读取上次保存的设置
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];