數(shù)據(jù)存儲(chǔ)-偏好設(shè)置

介紹:很多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ì)象方法拿到返回值 并【賦值】

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容