swift 本地歸檔 解檔儲存

2021-07-26 05:05:34 字數 1109 閱讀 4764

1.對使用者的模型資料(自定義類:hcusermodel)進行歸檔和解檔

1.1 需要遵循nscoding協議

1.2 需要實現func

encode(with acoder: 

nscoder

){}歸檔方法

1.3需要實現 required

init(coder adecoder: nscoder){}解檔方法

1.4 重寫init方法

2.hcusermodel的資料內容如下:

import uikit

class hcusermodel: nsobject,nscoding 

// mark:- 處理需要解檔的字段

required

init(coder adecoder:nscoder)

overrideinit()

}3. 實現歸檔把模型儲存到本地document資料夾:

3.1 獲取本地document路徑,一般路徑都設為全域性變數,方便解檔直接使用:

letuseraccountpath ="\

(nssearchpathfordirectoriesindomains

(filemanager

.searchpathdirectory

.documentdirectory,

filemanager

.searchpathdomainmask

.userdomainmask

,true

).first

!)/useraccount.data"

3.2 對獲取到的模型進行歸檔操作,要注意模型必須是確定的型別,如果是可選型別會報傳送未識別的訊息的錯誤(切記)

nskeyedarchiver

.archiverootobject

(usermodel!, tofile:useraccountpath)

4.實現解檔從document資料夾獲取本地模型資料

4.1 判斷document資料夾下是否有已儲存好的模型,有的話就解檔取出模型

ifnskeyedunarchiver.unarchiveobject(withfile:useraccountpath) !=nil 

資料儲存 歸檔解檔

pragma mark 實現協議方法 1.在 歸檔 的時候呼叫 歸檔 指的就是把物件寫入到檔案的過程 告訴系統,如何對當前物件進行歸檔 寫入檔案 void encodewithcoder nscoder encoder 2.在 反歸檔 的時候呼叫 反歸檔 指的是從檔案中讀取物件的過程 如何將讀取到的...

Swift 歸檔解歸檔

swift中物件進行歸檔寫入檔案時需要對物件屬性進行歸檔操和解歸檔操作 物件方法中需重寫以下兩個方法 從nsobject解析回來 init coder adecoder nscoder 編碼成object func encodewithcoder acoder nscoder 歸檔,解歸檔需要使用到...

iOS 歸檔解檔

開發過程中有時需要儲存一些輕量級的資料,對於ios提供的幾種資料儲存方式在這時最合適當屬物件歸檔 nscoding 但是將物件資料進行歸檔解檔時候需要實現兩個方法 encodewithcoder和initwithencoder。encodewithcoder 編碼 initwithcoder 解碼使...