1使用plist檔案儲存資料
首先要知道的是,使用plist儲存資料,只能儲存oc自帶的資料字典和陣列,無法儲存自定義的資料model,例子看info.plist的樣式就知道了
將資料儲存到plist檔案中
//獲取本地沙盒路徑
nsarray *path = nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes);
//獲取完整路徑
nsstring *docpath = [path objectatindex:0];
// 3.新建資料
nsmutablearray *data = [[nsmutablearray alloc] initwithobjects:@"232",@"jee", nil];
nsstring *str = @"21323";
[data insertobject:str atindex:0];
[data writetofile:filepath atomically:yes];
讀取並修改plist檔案
//獲取本地沙盒路徑
nsarray *path = nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes);
//獲取完整路徑
nsstring *docpath = [path objectatindex:0];
// 3.檔案路徑
// 4.讀取資料
nsmutablearray *data = [nsmutablearray arraywithcontentsoffile:filepath];
// 5.修改資料
nsstring *str = @"wwwww";
[data insertobject:str atindex:0];
[data writetofile:filepath atomically:yes];
nslog(@"%@", data);
2.使用歸檔儲存資料
使用歸檔儲存就可以儲存自定義的model資料了
首先將讓model遵循nscoding協議
#import @inte***ce subdata : nsobject@property (copy, nonatomic) nsstring * name;
@property (copy, nonatomic) nsstring * code;
@property (copy, nonatomic) nsstring * imgurl;
@property (copy, nonatomic) nsstring * sub;
@property (copy, nonatomic) nsstring * url;
@end
然後在m檔案中
// 當將乙個自定義物件儲存到檔案的時候就會呼叫該方法
// 在該方法中說明如何儲存自定義物件的屬性
// 也就說在該方法中說清楚儲存自定義物件的哪些屬性
- (void)encodewithcoder:(nscoder *)acoder
// 當從檔案中讀取乙個物件的時候就會呼叫該方法
// 在該方法中說明如何讀取儲存在檔案中的物件
// 也就是說在該方法中說清楚怎麼讀取檔案中的物件
- (id)initwithcoder:(nscoder *)adecoder
return self;
}
這樣在model中的設定就完成了,接下來是使用時的**
將資料儲存到檔案中
//獲取檔案路徑
nsstring *docpath=[nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes)lastobject];
nsmutablearray *subdataarray = [[nsmutablearray alloc] init];
[subdataarray insertobject:model atindex:0];
//將自定義的物件儲存到檔案中,呼叫nskeyedarchiver的工廠方法 archiverootobject: tofile: 方法
[nskeyedarchiver archiverootobject:subdataarray tofile:path];
解檔
//1.獲取檔案路徑
nsstring *docpath=[nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes)lastobject];
//2.從檔案中讀取物件,解檔物件就呼叫nskeyedunarchiver的乙個工廠方法 unarchiveobjectwithfile: 即可。
if([gygeneraltools isfileexist:@"recentlyused.archiver"])
28 資料儲存 plist 偏好設定 歸檔
documents 儲存應用執行時生成的需要持久化的資料,itunes同步裝置時會備份該目錄。例如,遊戲應用可將遊戲存檔儲存在該目錄 tmp 儲存應用執行時所需的臨時資料,使用完畢後再將相應的檔案從該目錄刪除。應用沒有執行時,系統也可能會清除該目錄下的檔案。itunes同步裝置時不會備份該目錄 li...
IOS中的儲存 Plist
在mac os x的cocoa,nextstep和gnustep程式設計框架中,屬性列表 property list 檔案是一種用來儲存序列化後的物件的檔案。屬性列表檔案的擴充套件名為.plist,因此通常被稱為plist檔案。plist檔案通常用於儲存使用者設定,也可以用於儲存 的資訊,該功能在舊...
iOS 資料儲存 plist檔案
屬性列表是一種明文的輕量級儲存方式,其儲存格式有多種,最常規格式為xml格式。在我們建立乙個新的專案的時候,xcode會自動生成乙個info.plist檔案用來儲存專案的部分系統設定。plist只能用陣列 nsarray 或者字典 nsdictionary 進行讀取,由於屬性列表本身不加密,所以安全...