介紹:很多iOS應(yīng)用都支持偏好設(shè)置,比如保存用戶名、密碼、字體大小等設(shè)置,iOS提供了一套標(biāo)準(zhǔn)的解決方案來為應(yīng)用加入偏好設(shè)置功能
l每個(gè)應(yīng)用都有個(gè)NSUserDefaults實(shí)例,通過它來存取偏好設(shè)置
l比如,保存用戶名、字體大小、是否自動(dòng)登錄
偏好設(shè)置NSUserDefaults
底層就是封閉了一個(gè)字典,利用字典的方式生成plist文件
好處:不需要關(guān)心文件名(它會(huì)自動(dòng)生成)快速進(jìn)行鍵值對(duì)存儲(chǔ).
步驟1 NSUserDefaults*defaults = [NSUserDefaultsstandardUserDefaults];
步驟2[defaultssetObject:@“gaolin"forKey:@"username"];
[defaultssetFloat:18.0fforKey:@"text_size"];
[defaultssetBool:YESforKey:@"auto_login"];
同步,立即寫入文件.
步驟3[defautlssynchronize];
存是用什么key存的,讀的時(shí)候就要用什么key值取
存的時(shí)候使用的什么類型,取的時(shí)候也要用什么類型.
l讀取上次保存的設(shè)置
步驟1NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
步驟2NSString *username = [defaultsstringForKey:@"username"];
float textSize = [defaultsfloatForKey:@"text_size"];
BOOL autoLogin = [defaultsboolForKey:@"auto_login"];
l注意1:UserDefaults設(shè)置數(shù)據(jù)時(shí),不是立即寫入,而是根據(jù)時(shí)間戳定時(shí)地把緩存中的數(shù)據(jù)寫入本地磁盤。所以調(diào)用了set方法之后數(shù)據(jù)有可能還沒有寫入磁盤應(yīng)用程序就終止了。出現(xiàn)以上問題,可以通過調(diào)用synchornize方法強(qiáng)制寫入
[defaults synchornize];
l注意2: 取出數(shù)據(jù)的時(shí)候直接使用NSUserDefaults的實(shí)例對(duì)象 對(duì)象方法拿到返回值 并【賦值】