CodingKeys?CodingKeys — это вложенный enum, который соответствует протоколу CodingKey и используется внутри типа Codable для определения соответствия между названиями свойств Swift и их соответствующими ключами в закодированном формате (например, в JSON).
По умолчанию Swift автоматически сопоставляет названия свойств с ключами JSON с идентичными именами. Однако CodingKeys даёт тебе явный контроль над этим сопоставлением, когда стандартного поведения недостаточно.
snake_case вместо camelCase в Swiftstruct User: Codable {
let firstName: String
let age: Int
enum CodingKeys: String, CodingKey {
case firstName = "first_name" // сопоставляет snake_case ключ JSON
case age // сопоставляется напрямую
}
}
Здесь ключ JSON "first_name" сопоставляется со свойством Swift firstName, а age сопоставляется напрямую. Любое свойство, не указанное в CodingKeys, автоматически исключается из кодирования и декодирования.
Используй CodingKeys, когда тебе нужен точный контроль над тем, как твои типы Swift сериализуют и десериализуют данные — особенно при работе с внешними API, которые следуют другим соглашениям об именовании, чем твой код.
Enum CodingKeys должен соответствовать протоколам CodingKey и String одновременно, и несоответствие любому из них приведёт к ошибкам компиляции.
Новый — ещё не проверен сообществом
Вы