符合 class 到 swift4 中的可编码协议
Conforming class to codable protocol in swift4
使结构符合 Codable(可编码和可解码)协议非常简单:只需声明它即可。但是,如果我想让 class 符合 Codable,我是否必须编写所有锅炉代码(CodingEnum、init(来自解码器:Decoder)、编码(到编码器:Encoder)等)?
不,你不必这样做。示例:
import Foundation
class Message: Codable {
let id: Int = 1
let text: String = "Hello"
}
let message = Message()
let encoder = JSONEncoder()
let json = try encoder.encode(message)
print(String(data: json, encoding: String.Encoding.utf8)!)
使结构符合 Codable(可编码和可解码)协议非常简单:只需声明它即可。但是,如果我想让 class 符合 Codable,我是否必须编写所有锅炉代码(CodingEnum、init(来自解码器:Decoder)、编码(到编码器:Encoder)等)?
不,你不必这样做。示例:
import Foundation
class Message: Codable {
let id: Int = 1
let text: String = "Hello"
}
let message = Message()
let encoder = JSONEncoder()
let json = try encoder.encode(message)
print(String(data: json, encoding: String.Encoding.utf8)!)