Codable?Codable — это type alias, который объединяет два протокола:
Encodable — позволяет типу быть сериализованным (преобразованным во внешний формат)Decodable — позволяет типу быть десериализованным (восстановленным из внешнего формата)Codable позволяет типам Swift конвертироваться в такие форматы и обратно, как:
Ключевое преимущество Codable в том, что Swift может автоматически синтезировать соответствие протоколу. Если все свойства типа уже соответствуют Codable, достаточно просто объявить соответствие — и компилятор сделает всё остальное:
struct User: Codable {
let name: String
let age: Int
}
Используй JSONEncoder для сериализации и JSONDecoder для десериализации:
let encoder = JSONEncoder()
let data = try encoder.encode(user)
let decoder = JSONDecoder()
let decodedUser = try decoder.decode(User.self, from: data)
Когда названия свойств отличаются от ключей JSON, можно использовать enum CodingKeys для задания своих маппингов:
enum CodingKeys: String, CodingKey {
case name
case age = "user_age"
}
Codable — это type alias, который объединяет протоколы Encodable и Decodable.
Новый — ещё не проверен сообществом
Вы