天天看點

iOS開發之資料存儲之Preference(偏好設定)

1、概述

很多ios應用都支援偏好設定,比如儲存使用者名、密碼、字型大小等設定,ios提供了一套标準的解決方案來為應用加入偏好設定功能。

每個應用都有個nsuserdefaults執行個體,通過它來存取偏好設定。比如,儲存使用者名、字型大小、是否自動登入。

nsuserdefaults *defaults = [nsuserdefaults standarduserdefaults];

[defaults  setobject:@"itcast"  forkey:@"username"];

[defaults  setfloat:18.0f  forkey:@"text_size"];

[defaults  setbool:yes  forkey:@"auto_login"];

[defaults synchronize];

// 3.立刻同步,使記憶體中資料與偏好設定中資料同步,建議調用一下

iOS開發之資料存儲之Preference(偏好設定)

2、讀取上次儲存的設定

nsuserdefaults *defaults = [nsuserdefaults standarduserdefaults];

nsstring *username = [defaults stringforkey:@"username"];

float textsize = [defaults floatforkey:@"text_size"];

bool autologin = [defaults boolforkey:@"auto_login"];

注意:userdefaults設定資料時,不是立即寫入,而是根據時間戳定時地把緩存中的資料寫入本地磁盤。是以調用了set方法之後資料有可能還沒有寫入磁盤應用程式就終止了。出現以上問題,可以通過調用synchornize方法強制寫入

[defaults synchornize];