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...