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.立刻同步,使記憶體中資料與偏好設定中資料同步,建議調用一下
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];