Swift4 中的Encoding 和 Decoding
最近項目上后端給前端自動生成所有的Model和HTTP客戶端,不需要自己寫Model承接了,但是后臺生成的model是struct,所以研究了一下怖竭,怎么把Model保存到本地宾袜。最主要的是把struct轉(zhuǎn)成NSData,然后就可以直接歸檔了
import UIKit
struct Person: Codable {
var name: String
var code: String
}
struct Language : Codable {
var name: String
var version: Int
var person: Person
}
//結(jié)構(gòu)體轉(zhuǎn)Data
let person = Person(name: "zj", code: "00101")
let l = Language(name: "aaa", version: 34, person: person)
let encoder = JSONEncoder()
let encoded = try? encoder.encode(l)
//Data轉(zhuǎn)結(jié)構(gòu)體
let decoder = JSONDecoder()
let obj = try? decoder.decode(Language.self, from: encoded!)