1省有、NSUserDefault的使用:
作用:NSUserDefault類提供了一個(gè)與默認(rèn)系統(tǒng)進(jìn)行交互的編程接口。NSUserDefault
對(duì)象是用來保存碉哑,恢復(fù)應(yīng)用程序相關(guān)的偏好設(shè)置度陆,配置數(shù)據(jù)等等。默認(rèn)系統(tǒng)允許應(yīng)用程序自定義它的行為去迎合用戶的喜好摘投。你可以在程序運(yùn)行的時(shí)候從用戶默認(rèn)的數(shù)據(jù)庫(kù)中讀取程序的設(shè)置煮寡。同時(shí)NSUserDefault的緩存避免了每次讀取數(shù)據(jù)的時(shí)候都打開用戶默認(rèn)數(shù)據(jù)庫(kù)的操作∠簦可以通過調(diào)用synchronize方法來使內(nèi)存中的緩存與用戶默認(rèn)系統(tǒng)進(jìn)行同步幸撕。
原理:NSUserDefault是用戶輕量級(jí)的數(shù)據(jù)持久化,主要用于保存用戶程序的配置等信息外臂,以便下次啟動(dòng)程序后能恢復(fù)上次的設(shè)置坐儿。因?yàn)槭菍懙搅擞脖P上,所以會(huì)出現(xiàn)用多了會(huì)造成系統(tǒng)浪費(fèi)宋光,內(nèi)存占用過大等問題貌矿。
2、數(shù)據(jù)是一“鍵值對(duì)”形式保存的跃须,因此需要通過key來讀取或者保存數(shù)據(jù)
3站叼、可以存儲(chǔ)NSData,NSString,NSNumber,NSDate,NSArray,NSDictionary這些事例,如果想存儲(chǔ)其他類型的對(duì)象菇民,要將其歸檔并創(chuàng)建一個(gè)NSData來實(shí)現(xiàn)存儲(chǔ)
4尽楔、NSUserdefaults返回的值是不可改變的,
5第练、NSUserDefaults是單例阔馋,同時(shí)也是線程安全的
6、NSUserDefaults的基本使用,存儲(chǔ)數(shù)據(jù)
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
[userDefault setInteger:1 forKey:@"number"];
[userDefault setValue:@"aa" forKey:@"string"];
NSData *objColor = [NSKeyedArchiver archivedDataWithRootObject:[UIColor whiteColor]];
[userDefault setObject:objColor forKey:@"corlor"];
//下面方法用來實(shí)現(xiàn)“數(shù)據(jù)即時(shí)寫入”
[userDefault synchronize];
//用來獲取設(shè)備上的所有的NSUserDefaults的設(shè)置
NSDictionary *defaultDic = [userDefault dictionaryRepresentation];