iOS本地資料儲存的方式

2021-06-29 00:16:38 字數 2661 閱讀 1169

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程式預設情況下只能訪問程式自己的目錄,這個目...