Вы можете просто присвоить значение по умолчанию свойству, которое должно существовать только в классе модели вашего приложения iOS, а затем опустить имя этого свойства в вашем CodingKey
enum
, и ваш класс / структура модели все равно будет соответствовать Codable
без необходимости кодировать / декодировать это свойство в / из JSON.
Ниже приведен пример этого.
struct Person: Decodable {
let name:String
let age:Int
var cached = false //not part of the JSON
enum CodingKeys:String,CodingKey {
case name, age
}
}
let json = """
{"name":"John",
"age":22}
"""
do {
let person = try JSONDecoder().decode(Person.self,from: json.data(using: .utf8)!)
print(person) // Person(name: "John", age: 22, cached: false)
} catch {
print(error)
}