ios 儲存本地資料的方法

2021-09-07 00:22:17 字數 2299 閱讀 5774

1。

nsstring *path = [[nsbundle mainbundle] pathforresource:@"檔名"oftype:@"plist"];

// 檔案資料型別是array

nsarray *array=[nsarray arraywithcontentsoffile:path];

//檔案資料型別是*dictionary

nsdictionary *dictionary = [nsdictionary dictionarywithcontentsoffile:path];

//1. 建立乙個plist檔案

nsarray *paths=nssearchpathfordirectoriesindomains(nsdocumentdirectory,nsuserdomainmask,yes); 

nsstring *path=[paths    objectatindex:0];

nslog(@"path = %@",path);

nsfilemanager* fm = [nsfilemanager defaultmanager];

[fm createfileatpath:filename contents:nil attributes:nil];        

//nsdictionary* dic = [nsdictionary dictionarywithcontentsoffile:plistpath];

//建立乙個dic,寫到plist檔案裡

nsdictionary* dic = [nsdictionary dictionarywithobjectsandkeys:@"sina",@"1",@"163",@"2",nil];

[dic writetofile:filename atomically:yes];

//讀檔案

nsdictionary* dic2 = [nsdictionary dictionarywithcontentsoffile:filename];

nslog(@"dic is:%@",dic2);

建立乙個user defaults方法有多個,最簡單得快速建立方法:

nsuserdefaults *accountdefaults = [nsuserdefaults standarduserdefaults];

新增資料到 user defaults:

[accountdefaults setobject:namefield.text forkey:userdefaultnamekey];

也可以新增基本資料型別int, float, bool等,有相應得方法

[accountdefaults setbool:yes forkey:userdefaultboolkey];

從user defaults中獲取資料:

[accountdefaults objectforkey:ncuserdefaultnamekey]

[accountdefaults boolforkey: userdefaultboolkey];

要點:nsuserdefaults非常好用,並不需要使用者在程式中設定nsuserdefaults的全域性變數,需要在**使用nsuserdefaults的資料,那麼就在**建立乙個nsuserdefaults物件,然後進行讀或者寫操作。

針對同乙個關鍵字對應的物件或者資料,可以對它進行重寫,重寫之後關鍵字就對應新的物件或者資料,舊的物件或者資料會被自動清理。

3 關於nsuserdefaults儲存不了資料的問題

如果你按home鍵終止你的應用(真機或者模擬器上),你的值是會被儲存的。

[[nsuserdefaults standarduserdefaults] synchronize];

如果你在xcode中,終止你的應用(在模擬器或者真機上),你的值有時候(terminate the process before they've been persisted(不知道是個什麼鬼))不會被儲存。但是

你可以使用以下**強制儲存:

[[nsuserdefaults standarduserdefaults] synchronize];

iOS本地資料儲存的方式

1 nskeyedarchiver 歸檔 採用歸檔的形式來儲存資料,可以實現對複雜物件的資料儲存,該資料物件需要遵守nscoding協議,並且該物件對應的類必須提供encodewithcoder 和initwithcoder 方法.2 nsuserdefaults 用來儲存應用程式設定和屬性 使用者...

iOS本地資料儲存的方式

ios本地資料儲存有哪幾種方式?1.複雜物件寫入本地nskeyedarchiver 歸檔 採用歸檔的形式來儲存資料,該物件資料需要遵守nscoding協議,並且該物件對應的類必須提供encodewithcoder 和initwithcoder 方法。現在建立乙個boss類,並且.h遵守nscodin...

iOS的本地化資料儲存

l xml屬性列表 plist 歸檔l preference 偏好設定 l nskeyedarchiver歸檔l sqlite3資料庫 lcore data l realm 一 xml 屬性列表 plist 歸檔1,獲取沙盒根路徑 nsstring home nshomedirectory 2,獲取...