ios本地資料儲存有哪幾種方式?
1. 複雜物件寫入本地nskeyedarchiver(歸檔)採用歸檔的形式來儲存資料,該物件資料需要遵守nscoding協議,並且該物件對應的類必須提供encodewithcoder:和initwithcoder:方法。
現在建立乙個boss類,並且.h遵守nscoding協議,.m兩個協議方法。
boss.h檔案
#import
// nscoding
協議把乙個類中的所有資料
, 進行整體編碼
方便進行檔案讀取
@inte***ce
boss : nsobject
@property (nonatomic, retain)nsstring *name;
@property(nonatomic, retain)
nsstring
****;
@property(nonatomic, retain)
nsstring
*number;
@end
boss.m檔案
#import "boss.h"
@implementation boss
- (void)dealloc
// 協議方法1 編碼方法
- (void)encodewithcoder:(nscoder *)acoder
// 協議方法2 解碼方法
- (id)initwithcoder:(nscoder *)adecoder
return self; }
@end
2.write寫入方式:永久儲存在磁碟中
//沙盒的含義 在一定範圍內可以做任何事情;
//ios的沙盒指的就是應用程式的檔案操作資料夾,在資料夾內可以讀寫任何內容,但是完全不能訪問其他應用程式的沙盒資料夾;
// library : 給開發者使用的
//preferen : 給開發者儲存一些內容, nsuserdefaults 儲存的資訊都在這個檔案中
//簡單物件寫入本地 nsstring,nsarray nsnumber nsdata nsdictionary等;
//列印沙盒檔案路徑
nslog
(@"%@"
, nshomedirectory());
// 1. 拼接乙個儲存路徑
// 系統提供了乙個函式直接返回某乙個沙盒資料夾的路徑
// 返回值: 找到的路徑組成的陣列, 如果搜尋的是系統的沙盒檔案那麼陣列中只有乙個元素
// 引數1: 搜尋沙盒中的哪個資料夾
// 引數2: 在什麼範圍內搜尋
// 引數3: 返回的是相對路徑 or 絕對路徑
nsarray*arr = nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask,
yes);
// 獲取檔案路徑
// 取出document資料夾的路徑
nsstring *docpath = [arr lastobject];
// 在document檔案路徑後
拼接乙個檔案路徑
@"/123.text"];
// 2. 按照路徑寫入
nsstring
*str = @"張強去wc, 把網斷了, 這是個秘密";
// 系統提供了儲存字串的方法
// 返回值: bool
// 引數1:
要寫入的路徑
// 引數2: 是否對寫入的檔案進行寫保護
// 引數3:
編碼方式
// 引數4:
錯誤資訊
nserror *error = nil;
[str writetofile:textpath atomically:
yesencoding:nsutf8stringencodingerror:&error];
// 讀取資訊
nsstring*readstr = [[nsstringalloc] initwithcontentsoffile:textpath encoding:nsutf8stringencodingerror:
nil];
nslog(@"%@", readstr);
// 陣列寫入本地
nsarray*array = [nsarrayarraywithobjects:
@"111"
, @"222"
, @"333"
, @"444"
, nil];
// 拼接路徑
@"arr.plist"];
// 寫入本地
[array writetofile:arrpath atomically:yes];
nsarray*myarr = [[nsarrayalloc] initwithcontentsoffile:arrpath];
for (nsstring *str in myarr)
3.nsuserdefaults:用來儲存應用程式設定和屬性、使用者儲存的資料。使用者再次開啟程式或開機後這些資料仍然存在。nsuserdefaults可以儲存的資料型別包括:nsdata、nsstring、nsnumber、nsdate、nsarray、nsdictionary。
iOS本地資料儲存的方式
1 nskeyedarchiver 歸檔 採用歸檔的形式來儲存資料,可以實現對複雜物件的資料儲存,該資料物件需要遵守nscoding協議,並且該物件對應的類必須提供encodewithcoder 和initwithcoder 方法.2 nsuserdefaults 用來儲存應用程式設定和屬性 使用者...
ios 儲存本地資料的方法
1。nsstring path nsbundle mainbundle pathforresource 檔名 oftype plist 檔案資料型別是array nsarray array nsarray arraywithcontentsoffile path 檔案資料型別是 dictionary...
ios 資料儲存方式
今天發現一篇好文章,忍不住收藏下來 所謂的持久化,就是將資料儲存到硬碟中,使得在應用程式或機器重啟後可以繼續訪問之前儲存的資料。在ios開發中,有很多資料持久化的方案,接下來我將嘗試著介紹一下5種方案 在介紹各種儲存方法之前,有必要說明以下沙盒機制。ios程式預設情況下只能訪問程式自己的目錄,這個目...