資料儲存 NSKeyedArchiver 一

2021-06-27 12:41:12 字數 1356 閱讀 1984

在 ios 開發中,資料儲存的其中一種方式是將乙個物件直接存到檔案中。直接將乙個物件存到檔案要使用的類是nskeyedarchiver。而要將儲存在檔案中的物件讀取出來就要使用到另乙個類nskeyedunarchiver。這兩個類是成對出現的,但使用這兩個類儲存物件到檔案或從檔案中解析物件是有條件的。物件必須實現了 nscoding 協議並實現了協議裡的方法。下面以儲存自定義類 czperson 物件為例子來學習如何使用上面兩個類儲存或讀取物件。

//

// czperson.h

//// created by pkxing on 14/12/8.

// 自定義類必須實現nscoding協議

#import @inte***ce czperson : nsobject/**

* 姓名

*/@property(nonatomic,copy) nsstring *name;

/** * 年齡

*/@property(nonatomic,assign) int age;

@end

//

// czperson.m

// created by pkxing on 14/12/8.

//#import "czperson.h"

@implementation czperson

/** * 當儲存物件到檔案中的時候系統會呼叫這個方法

* * 一般在這個方法中告訴系統如何儲存物件的屬性值

*/- (void)encodewithcoder:(nscoder *)encoder

/** * 當從檔案中初始化乙個物件的時候系統會呼叫這個方法

* * 一般在這個方法中告訴系統如何解析物件的屬性值

* * @return 初始化好的物件

*/- (id)initwithcoder:(nscoder *)decoder

return self;

}@end

然後就可以像下面那樣儲存物件到檔案中或從檔案中讀取物件了。記住:儲存的是什麼型別物件,讀取的就是什麼型別的物件。

//

// main.m

// created by pkxing on 14/12/8.

//#import #import "czperson.h"

int main(int argc, char * argv)

}

總結:使用nskeyedarchiver儲存物件到檔案中的兩個條件:

1、要儲存的物件必須遵循 nscoding 協議

2、必須實現協議裡的兩個方法。詳情請看**

mysql資料儲存 mysql資料儲存

頁 從磁碟讀取或者寫入資料時,我們通常會指定乙個緩衝區大小,達到緩衝區域大小才會寫入一次資料,較少io操作次數。同樣的從磁碟讀取資料時候,就作業系統而言,讀取一條較小的資料時,並不是只會返回我們需要的資料,而是會將這個資料前後的部分資料一併讀取到記憶體中,以備之後使用。這個從磁碟讀取的最小量的資料被...

PostgreSQL的資料儲存 八 資料儲存

在作業系統層面,資料儲存,只是一些二進位制資訊,這個層次,是不知道檔案內容的含義的。檔案的邏輯含義,取決於應用層面。資料庫系統的檔案組織,也如此。在外存儲存,以二進位制格式存放,讀寫檔案,以塊 8k 為單位,讀入的資料,存放與資料緩衝區,所以,資料的邏輯含義,始於資料緩衝區。在bufpage.h檔案...

mysql資料儲存模型 資料儲存模型

rdbms nosql hadoop hbase hbase以big table為藍本,以鍵值對儲存,實現快速在主機內億級記錄中定位到所需的資料並訪問它。hbase彌補了hadoop無法隨即讀寫的缺陷,如果需要實時的訪問資料,就把資料存入hbase。hbase常應用於建立網際網路索引 推薦系統後台 ...