问题描述
我们在 Swift
创建模型的时候,通常要实现系统的 Codable
协议来支持模型的 encode
和 decode
功能。
但是我们通常并不希望所有的属性都进行编码和解码,比如一些用于计算或者转换临时的私有属性。
class TestModel: Codable {
var name:String?
private var privateName:String?
}
比如上面的代码中的 privateName
在一些情况下面就需要私有,不需要进行编码。
解决办法
private enum CodingKeys : String, CodingKey {
case name
}
我们实现私有的 CodingKeys
属性,把需要进行编码和解码的属性添加进行就行。