nsuserdefaults簡介
nsuserdefaults是乙個單例,在整個程式中只有乙個例項物件,他可以用於資料的永久儲存,而且簡單實用,nsuserdefaults適合儲存輕量級的本地資料,一些簡單的資料(nsstring型別的)例如密碼,**等,nsuserdefaults肯定是首選
nsuserdefaults可以儲存下列型別的資料:
nsnumber(nsinteger、float、double),nsstring,nsdate,nsarray,nsdictionary,bool
如果想要將上述資料型別的資料永久儲存到nsuserdefaults中去,只需要簡單的操作(乙個value 乙個key ),例如,想要儲存乙個nsstring的物件,**實現為:
//將nsstring 物件儲存到 nsuserdefaults 中
nsstring *passwd=@"dxt";
nsuserdefaults*aaa= [nsuserdefaults
standarduserdefaults];
[aaa setobject:passwd forkey:@"aaapassword"];
將資料取出也很簡單,只需要取出key 對應的值就好了
//從nsuserdefaults中取出剛才儲存的字串 "dxt"
nsuserdefaults*bbb = [nsuserdefaults
standarduserdefaults];
nsstring *passwd1= [ bbb objectforkey:@"aaapassword"];
注意:對相同的key賦值約等於一次覆蓋,要保證每乙個key的唯一性
值得注意的是:
nsuserdefaults 儲存的物件
全是不可變的(這一點非常關鍵,弄錯的話程式會出bug),例如,如果我想要儲存乙個 nsmutablearray 物件,我必須先建立乙個不可變陣列(nsarray)再將它存入nsuserdefaults中去,**如下:
nsmutablearray *mutablearray = [nsmutablearray
arraywithobjects:@"123",@"234",@"345"
,nil];
nsarray * array = [nsarray
arraywitharray:mutablearray];
nsuserdefaults*user = [nsuserdefaults
standarduserdefaults];
[user setobject:array forkey:@"
記住存放的一定是不可變的
"];取出資料是一樣的,想要用
nsuserdefaults中的資料
給可變陣列賦值
nsuserdefaults *user = [nsuserdefaults standarduserdefaults];
nsmutablearray
*mutablearray =
[nsmutablearray arraywitharray:[user objectforkey:@"記住存放的一定是不可變的"]];
切記勿寫為:
nsmutablearray
*mutablearray =[user objectforkey:@"記住存放的一定是不可變的"];
//這樣寫後,mutablearray 就變成了不可變陣列了,如果你要在陣列中新增或刪除資料就會出現bug
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...