NSUserDefaults簡介及使用

2021-07-07 01:14:14 字數 1940 閱讀 7030

nsuserdefaults簡介及使用

nsuserdefaults類提供了乙個與預設系統進行互動的程式設計介面。nsuserdefaults物件是用來儲存,恢復應用程式相關的偏好設定,配置資料等等。預設系統允許應用程式自定義它的行為去迎合使用者的喜好。你可以在程式執行的時候從使用者預設的資料庫中讀取程式的設定。同時nsuserdefaults的快取避免了在每次讀取資料時候都開啟使用者預設資料庫的操作。可以通過呼叫synchronize方法來使記憶體中的快取與使用者預設系統進行同步。

nsuserdefaults類提供了非常方便的方法來獲取常用的型別,例如 floats,doubles,intergers,booleans,urls。所以乙個nsuserdefaults的物件必須是屬性表,這也就是說 我們可以儲存nsdata,nsstring,nsnumber,nsdate,nsarray,nsdictionary這些例項。如果你想儲存其他類 型的物件,你要將其歸檔並建立乙個nsdata來實現儲存。

從nsuserdefaults返回的值是不可改變的,即便是你在儲存的時候使用的是可變的值。例如你使用mutable string做為「mystringdefault」的值,當你做使用stringforkey:方法獲取的值,這個值仍然是不可變的。

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

在使用nsuserdefaults的時候,先看下下面的**:

nsdictionary* defaults = [[nsuserdefaults standarduserdefaults] dictionaryrepresentation];

nslog(@」defaults: %@」, defaults);

是用來獲取裝置上的所有的nsuserdefaults的設定。

上面**輸出了

document,

"software-update",

booklet,

"itunes-u",

newsstand,

artist,

podcast,

"podcast-episode",

software

"zh_hans-pinyin@sw=pinyin;hw=us",

"en_us@hw=us;sw=qwerty"

"zh-hans",

en,fr,

de,ja,

nl,it,

es,pt,

"pt-pt",

da,fi,

nb,sv,

ko,"zh-hant",

ru,pl,

tr,uk,

ar,hr,

cs,el,

he,ro,

sk,th,

id,"en-gb",

ca,hu,

vi

);

如果想單獨看某個key的設定,例如:

nslog(@」keyboards: %@」, array);

會輸出if([[nsuserdefaults standarduserdefaults] objectforkey:@」message」]==nil){

[[nsuserdefaults standarduserdefaults] setobject:@」this_is_my_default_message」 forkey:@」message」];

**意思是判斷nsuserdefaults的「message」key 在dictionaryrepresentation中是否存在,如果不存在就

設定「message」key為this_is_my_default_message。

在加上句[[nsuserdefaults standarduserdefaults] synchronize];,這樣這個設定就存到預設引數中了。

分類: objective-c

NSUserDefaults儲存顏色

inte ce nsuserdefaults color void setcolor nscolor thecolor forkey nsstring key nscolor colorforkey nsstring key end implementation nsuserdefaults col...

NSUserDefaults儲存資料

1.用處 nsuserdefaults用來儲存類似使用者的配置 程式設定資訊等這些的資料 ios下可以使用nsuserdefault nskeyedarchiver sqlite coredata幾種常用的方式來儲存資料,其中nsuserdefaults用來儲存類似使用者的配置等這些的資料,後兩者使...

NSUserDefaults 用來儲存使用者設定資訊

nsuserdefaults 可以用來儲存使用者設定資訊,下次啟動程式的時候可以直接讀取,比儲存在檔案和資料庫中要方便很多。nsstring const int hall filter speed inthallfilterspeed nsstring const int hall filter s...