資料持久化 NSKeyedArchiver

2021-07-04 11:30:46 字數 796 閱讀 4612

1.基本的資料型別如

nsstring、nsdictionary、nsarray、nsdata、nsnumber等可以直接用nskeyedarchiver歸檔和恢復。

2.不是所有的物件都可以直接用這種方法歸檔,只有遵守了nscoding協議的物件才可以。

3.nscoding的協議有2個方法

- (void)encodewithcoder:(nscoder *)encoder

每次歸檔物件時,都會呼叫這個方法,一般在這個方法裡面指定如何規定物件中的每個例項變數,可以使用

[encoder

encodeobject

:self

.access_token

forkey

:@""

];方法歸檔例項變數。

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

每次從檔案中恢復(解碼)物件時,都會呼叫這個方法,一般在這個方法裡面指定如何解碼檔案中的資料為物件的例項變數,可以使用

[decoder 

decodeobjectforkey

:@"access_token"

];方法解碼變數。

注意點:

如果父類也遵守了nscoding協議,請注意:

應該在encodewithcoder方法中加一句[super encodewithcoder];確保繼承的變數也能歸檔

在initwithcoder:方法中加self =[super initwithcoder:

decoder];確保繼承的變數也能解碼(恢復)

資料持久化

資料持久化就是將記憶體中的資料模型轉換為儲存模型,以及將儲存模型轉換為記憶體中的資料模型的統稱.資料模型可以是任何資料結構或物件模型,儲存模型可以是關係模型 xml 二進位製流等。cmp和hibernate只是物件模型到關係模型之間轉換的不同實現。只不過物件模型和關係模型應用廣泛,所以就會誤認為資料...

資料持久化

首先是cocos2d x自己封閉的ccuserdefault跨平台的檔案儲存類,它是用的xml格式,具體操作非常類似於應用開發的ini檔案,可操作性不是很強,如果訪問比較複雜的資料,那就得自己動手去解析乙個字串,下面是示例 基本一看就懂 void userdefaulttest dotest els...

資料持久化

資料持久化是通過檔案將資料儲存在磁碟上 ios有四種資料持久化方式 1.屬性列表 property list 簡單易用,適合小資料量的儲存和查詢操作,但是不適合大量資料的儲存.屬性列表 1屬性列表 property list nsarray plist name age 指定儲存的地方 nsstri...