使用NSUserDefaults存储plist

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"];

posted @ 2017-03-14 19:59  Sivek_lin  阅读(389)  评论(0编辑  收藏  举报