IOS 資料持久化(二) 偏好設定

2021-07-25 20:44:28 字數 1062 閱讀 7179

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

每個應用都有個nsuserdefaults例項,通過它來訪問偏好設定。

下面給出**示例:

//1.獲得nsuserdefaults檔案

nsuserdefaults *userdefaults = [nsuserdefaults standarduserdefaults];

//2.向檔案中寫入內容(比如,儲存使用者名稱、字型大小、是否自動登入)

[userdefaults setobject:@"huangfei" forkey:@"username"];

[userdefaults setfloat:18.0 forkey:@"text_size"];

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

立即同步

[userdefaults synchronize];

//3.讀取檔案

nsstring *username = [userdefaults objectforkey:@"username"];

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

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

注意點

(1)userdefaults 設定資料時,不是立即寫入,而是根據時間戳定時地把快取中的資料寫入本地磁碟。所以呼叫了 set 方法之後資料有可能還沒有寫入磁碟應用程式就終止了。出現以上問題,可以通過呼叫 synchornize 方法強制寫入;

[defaults synchornize]

;

(2)偏好設定是專門用來儲存應用程式的配置資訊的,一般不要在偏好設定中儲存其他資料;

(3)偏好設定會將所有資料儲存到同乙個檔案中。即 preference 目錄下的乙個以此應用包名來命名的 plist 檔案。

iOS資料持久化 偏好設定

使用偏好設定對資料進行儲存之後,它儲存到系統的時間是不確定的,會在將來某一時間點自動將資料儲存到preferences資料夾下面,如果需要即刻將資料儲存,必須使用 defaults synchronize 想要實現自定義物件的儲存,需要將該物件轉化為nsdata型別,再進行儲存 獲取nsuserde...

(四十)資料持久化儲存的偏好設定實現

偏好設定一般是用於儲存軟體的常用設定。偏好設定儲存的本質是plist,不需要關心資料夾和檔案即可儲存。偏好設定的儲存方式類似於字典儲存,使用鍵值對來儲存資料。儲存方法 建立能夠直接訪問 library preferences的物件 nsuserdefaults defaults nsuserdefa...

iOS 偏好設定 NSUserDefault

nsuserdefaults類提供了乙個與系統進行互動的程式設計介面,用來儲存 恢復應用程式的偏好設定和配置資料等,適合儲存輕量級的本地資料。比如儲存乙個登陸介面的資料,例如使用者名稱 密碼之類的。如果使用plist檔案儲存,那麼就要自己建立檔案,讀取檔案,很麻煩。同時nsuserdefaults的...