1.用處:NSUserDefaults用來存儲類似用戶的配置、程序設置信息等這些的數據
iOS下可以使用NSUserDefault、NSKeyedArchiver、sqlite、CoreData幾種常用的方式來存儲數據,其中NSUserDefaults用來存儲類似用戶的配置等這些的數據,後兩者用戶存儲大批量和比較復雜的數據。
NSUserDefault 基本上支持所有的原生數據類型NSString、 NSNumber、NSDate、 NSArray、NSDictionary、BOOL、NSInteger、NSFloat等等。如果要存放自定義的對象(如自定義的類對象),則必須將其轉換成NSData存儲。
2.用法:
NSUserDefault的使用比較簡單:
A類頁面:
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
[userDefault setObject:@“北京” forKey:LASTCITY];
[userDefault synchronize];
B類頁面:
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
NSString *lastCity = [userDefault objectForKey:LASTCITY];
3.細節用法:
如果要存放自定義的對象(如自定義的類對象),則必須將其轉換成NSData存儲:
[cpp]
[cpp]
如果想刪除某個數據項,可以使用removeObjectForKey刪除數據:
[cpp]
需要注意的是,NSUserDefaults是定時把緩存中的數據寫入磁盤的,而不是即時寫入,為了防止在寫完NSUserDefaults後程序退出導致的數據丟失,可以在寫入數據後使用synchronize強制立即將數據寫入磁盤:
[cpp]
4、針對同一個關鍵字對應的對象或者數據,可以對它進行重寫,重寫之後關鍵字就對應新的對象或者數據,舊的對象或者數據會被自動清理。