偏好设置(Preference)

一、Preference简介

(1)偏好设置是专门用来保存应用程序的配置信息的, 一般情况不要在偏好设置中保存其他数据。如果利用系统的偏好设置来存储数据, 默认就是存储在Library/Preferences文件夹下面的,偏好设置会将所有的数据都保存到同一个文件中。

(2)使用偏好设置对数据进行保存之后, 它保存到系统的时间是不确定的,会在将来某一时间点自动将数据保存到Preferences文件夹下面,如果需要即刻将数据存储,可以使用[defaults synchronize],同步即可储存;

(3)所有的信息都写在一个文件中,对比简单的plist可以保存和读取基本的数据类型。

(4)只能储存NSData、NSNumber、NSDictionary、NSString、NSDate、NSArray、BOOL等数据类型,如果需要存储其他NSObject类型的数据,可以用NSKeyedArchive先转换成NSData之后再存储。
 

二、NSUserDefaults使用

NSUserDefaults是单例,也是线测安全的
 
2.1、获取APP共享的的偏好设置  
       NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];    
 

2.2、存储数据(API都是类似的)

     [defaults setObject:@"123" forKey:@"pwd"]; 
     [defaults setInteger:10 forKey:@"age"];  
     [defaults setBool:YES forKey:@"auto_login"];
     [defaults synchronize];   立刻同步保存数据
 

2.3、读取数据

      NSString *account = [defaults objectForKey:@"account"];   
      BOOL autoLogin = [defaults boolForKey:@"auto_login"];        
 

2.4、删除某个值

      [defaults removeObjectForKey:@"auto_login"]; 

 

原文地址:https://www.cnblogs.com/hepingqingfeng/p/5458953.html