假设我有一个struct User
模型,其中包含许多属性。
struct User: Codable {
let firstName: String
let lastName: String
// many more properties...
}
正如您在上面看到的,它符合Codable
. 想象一下,如果该lastName
属性应该被编码/解码为secondName
并且我想将它保留lastName
在我的最后,我需要将它添加CodingKeys
到User
模型中。
struct User: Codable {
//...
private enum CodingKeys: String, CodingKey {
case firstName
case lastName = "secondName"
// all the other cases...
}
}
是否有任何可能的方法来避免包含与上述示例中具有相同值的所有cases
in (感觉多余)?我知道如果我避免in它在解码/编码时不会被包含在内。但是,有没有办法可以覆盖这种行为?CodingKeys
rawValue
firstName
cases
CodingKeys