NSUserDefaults儲存資料

2022-03-21 06:34:20 字數 1658 閱讀 6462

1.用處:nsuserdefaults用來儲存類似使用者的配置、程式設定資訊等這些的資料

ios下可以使用nsuserdefault、nskeyedarchiver、sqlite、coredata幾種常用的方式來儲存資料,其中nsuserdefaults用來儲存類似使用者的配置等這些的資料,後兩者使用者儲存大批量和比較複雜的資料。

nsuserdefault 基本上支援所有的原生資料型別nsstring、 nsnumber、nsdate、 nsarray、nsdictionary、bool、nsinteger、nsfloat等等。如果要存放自定義的物件(如自定義的類物件),則必須將其轉換成nsdata儲存。

2.用法:

nsuserdefault的使用比較簡單:

a類頁面:

nsuserdefaults *userdefault = [nsuserdefaults standarduserdefaults];

[userdefault setobject:@「北京」 forkey:lastcity];

[userdefault synchronize];

b類頁面:

nsuserdefaults *userdefault = [nsuserdefaults standarduserdefaults];

nsstring *lastcity = [userdefault objectforkey:lastcity];

3.細節用法:

如果要存放自定義的物件(如自定義的類物件),則必須將其轉換成nsdata儲存:

[cpp]

nsarray *arr = [[nsarray alloc] initwithobjects:@arr1, @arr2, nil]

[mysettingdata setobject:arr forkey:@arritem];

[mysettingdata setobject:@admin forkey:@user_name];

[mysettingdata setbool:@yes forkey:@auto_login];[cpp]nsuserdefaults *mysettingdatar = [nsuserdefaults standarduserdefaults];

nslog(@arritem=%@, [mysettingdatar objectforkey:@arritem]);

nslog(@user_name=%@, [mysettingdatar objectforkey:@user_name]);

nslog(@count=%d, [mysettingdatar integerforkey:@count]);

如果想刪除某個資料項,可以使用removeobjectforkey刪除資料:

[cpp][mysettingdata removeobjectforkey:@arritem];

需要注意的是,nsuserdefaults是定時把快取中的資料寫入磁碟的,而不是即時寫入,為了防止在寫完nsuserdefaults後程式退出導致的資料丟失,可以在寫入資料後使用synchronize強制立即將資料寫入磁碟:[cpp]

用系統NSUserDefaults方法儲存歷史資料

nsuserdefaults userdefault nsuserdefaults standarduserdefaults 檔案存放於 user mike library preferences 目錄下。一,整型 1.儲存 userdefault setinteger 整型 forkey intk...

用系統NSUserDefaults方法儲存歷史資料

nsuserdefaults userdefault nsuserdefaults standarduserdefaults 檔案存放於 user mike library preferences 目錄下。一,整型 1.儲存 userdefault setinteger 整型 forkey intk...

NSUserDefaults簡單的資料儲存

nsuserdefaults簡介 nsuserdefaults是乙個單例,在整個程式中只有乙個例項物件,他可以用於資料的永久儲存,而且簡單實用,nsuserdefaults適合儲存輕量級的本地資料,一些簡單的資料 nsstring型別的 例如密碼,等,nsuserdefaults肯定是首選 nsus...