iOS 偏好設定 NSUserDefault

2021-07-14 00:03:51 字數 1196 閱讀 7215

nsuserdefaults類提供了乙個與系統進行互動的程式設計介面,用來儲存、恢復應用程式的偏好設定和配置資料等,適合儲存輕量級的本地資料。比如儲存乙個登陸介面的資料,例如使用者名稱、密碼之類的。

如果使用plist檔案儲存,那麼就要自己建立檔案,讀取檔案,很麻煩。同時nsuserdefaults的快取還避免了再每次讀取資料的時候都開啟資料庫的操作.而用nsuserdefaults則不用管這些東西,直接儲存或讀取就好了。

nsuserdefaults是單例的,同時也是執行緒安全的。

nsuserdefaults支援的資料型別有:bool、nsnumber(integer、float、double)、nsstring、nsdata、nsdate、nsarray、nsdictionary、nsobject

注意:(1)自定義類可以通過nsdata的方式進行儲存,不過要實現nscoding這個protocol才行,nsobject

(2)系統會儲存到該應用下的/library/preferences/gongcheng.plist檔案中。需要注意的是如果程式意外退出,nsuserdefaultsstandarduserdefaults資料不會被系統寫入到該檔案,所以,要使用[[nsuserdefaultsstandarduserdefaults] synchronize]命令直接同步到檔案裡,來避免資料的丟失。

(3)從nsuserdefaults返回的值並不是不可改變的,即使是儲存的時候使用可變值,當你使用 stringforkey: 方法獲取的值,這個值仍然是不可改變的,如果要改變需使用duplicated。

**如下:

//

// viewcontroller.m

// nsuserdefaultsdemo

//// created by 555chy on 6/25/16.

//#import "viewcontroller.h"

@inte***ce viewcontroller ()

@end

@implementation viewcontroller

- (void)viewdidload

- (void)didreceivememorywarning

@end

測試截圖:

iOS資料持久化 偏好設定

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

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

很多 ios 應用都支援偏好設定,比如儲存使用者名稱 密碼 字型大小等設定,ios 提供了一套標準的解決方案來為應用加入偏好設定功能。每個應用都有個nsuserdefaults例項,通過它來訪問偏好設定。下面給出 示例 1.獲得nsuserdefaults檔案 nsuserdefaults user...

偏好設定儲存

很多ios應用都支援偏好設定,比如儲存使用者名稱 密碼 字型大小等設定,ios提供了一套標準的解決方案來為應用加入偏好設定功能。每個應用都有個nsuserdefaults例項,通過它來訪問偏好設定比如,儲存使用者名稱 字型大小 是否自動登入1 儲存設定資料 nsuserdefaults defaul...