NSUserDefaults
(1)描述
这是一个单例类,直接操作沙盒中的Library中的Preferences中的一个名为本应用的BundleID的plist文件。
(2)相关操作
//首先获取NSUserDefaults对象
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
1)写数据:
可存储的数据类型:字符串、数组、字典、data、整型、浮点型、BOOL型等
//字符串
[userDefaults setObject:@"111" forKey:@"1"];
//字典
NSDictionary *dic = @{@"222":@"2"};
[userDefaults setObject:dic forKey:@"2"];
//数组
NSArray *array = @[@"333",@"3333"];
[userDefaults setObject:array forKey:@"3"];
注意:UserDefaults设置数据时,不是立即写入,⽽是根据时间戳定时地把缓存中的数据写入本地磁盘。所以调⽤了set方法之后数据有可能还没有写入磁盘应用程序就终止了。出现以上问题,可以通过调用synchronize方法强制写入,方法如下:
[userDefaults synchronize];
(2)取数据:
//字符串
NSString *str = [userDefaults objectForKey:@"1"];
//字典 NSDictionary *dic = [userDefaults objectForKey:@"2"];
//数组
NSArray *array = [userDefaults objectForKey:@"3"];
//布尔型 BOOL isOk = [userDefaults boolForKey:@"4"];
(3)修改数据
//根据键值删除对应的对象 [userDefaults removeObjectForKey:@"2"];