NSUserDefaults的应用和特点

来源:互联网 发布:sql语句去重 distinct 编辑:程序博客网 时间:2024/05/17 00:16

NSUserDefaults实现小型数据的快速存取:

特点:

            NSUserDefaults用于保存iPhone程序的数据,程序退出后数据并不会被清除;

存取数据单一,小;

代码简洁。

一、NSUserDefaults数据存储的位置
   那么这些数据最终存放在什么地方呢?存放于一个plist文件中。
   这个文件位于<UUID for your App>LibraryPreferences<your App"s bundle ID>.plist

二、支持存取的数据类型
   NSUserDefaults只支持: NSString, NSNumber, NSDate, NSArray, NSDictionary.

三、存  
int t = [count intValue]+1; 
 
[ud setObject:[NSNumber numberWithInt:t] forKey:@"times"];

四、取
//读取和保存用户使用软件次数 
 
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; 
 
NSNumber* count = [ud objectForKey:@"times"]; 

ps:注意存取的数据类型是对象,基本数据类型要转换为对象类型才行。


详细应用实例如下:

创建一个user defaults方法有多个,最简单得快速创建方法:

   NSUserDefaults *accountDefaults = [NSUserDefaultsstandardUserDefaults];


添加数据到 user defaults:

   [accountDefaults setObject:nameField.textforKey:UserDefaultNameKey];

也可以添加基本数据类型int, float, bool等,有相应得方法

 

   [accountDefaultssetBool:YESforKey:UserDefaultBoolKey];


user defaults中获取数据:

 

   [accountDefaultsobjectForKey:NCUserDefaultNameKey]

  

 [accountDefaultsboolForKey: UserDefaultBoolKey];


要点: NSUserDefaults非常好用,并不需要用户在程序中设置NSUserDefaults的全局变量,需要在哪里使用NSUserDefaults的数据,那么就在哪里创建一个NSUserDefaults对象,然后进行读或者写操作。

     针对同一个关键字对应的对象或者数据,可以对它进行重写,重写之后关键字就对应新的对象或者数据,旧的对象或者数据会被自动清理。