Как вы знаете, Codable - это новый элемент в Swift 4, поэтому мы перейдем к этому от старого процесса инициализации для моделей. Обычно мы используем следующий сценарий
class LoginModal
{
let cashierType: NSNumber
let status: NSNumber
init(_ json: JSON)
{
let keys = Constants.LoginModal()
cashierType = json[keys.cashierType].number ?? 0
status = json[keys.status].number ?? 0
}
}
В JSON cashierType
Ключ может отсутствовать, поэтому мы задаем значение по умолчанию как 0
Теперь сделать это с помощью Codable довольно просто, как показано ниже.
class LoginModal: Coadable
{
let cashierType: NSNumber
let status: NSNumber
}
как упоминалось выше, ключи могут отсутствовать, но мы не хотим, чтобы переменные модели были необязательными. Итак, как мы можем добиться этого с помощью Codable.
Спасибо
NSNumber
в Swift, используйтеInt
,Double
илиBool
. Во-вторых, в этом случае вам нужно написать собственный инициализатор. - person vadian   schedule 10.11.2018init(from decoder:
и использоватьdecodeIfPresent
, чтобы затронутые свойства могли назначать значения по умолчанию. - person vadian   schedule 10.11.2018