数据存储-偏好设置

介绍:很多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的实例对象 对象方法拿到返回值 并【赋值】

你可能感兴趣的:(数据存储-偏好设置)