Sobes.tech
Junior — Middle

Kokia yra pagrindinė Codable protokolo užduotis Swift ir kokiuose scenarijuose jis naudojamas?

sobes.tech AI

Atsakymas iš AI

Swift kalbame Codable protokolas sujungia du protokolus: Encodable ir Decodable, ir yra skirtas palengvinti duomenų kodavimą ir dekodavimą. Jo pagrindinė užduotis yra pritaikyti naudotojo tipus (struktūras, klases) formatais, tinkamais saugojimui ar perdavimui (pvz., JSON, Property List), ir atvirkščiai.

Codable naudojimo scenarijai:

  • Duomenų serializavimas siuntimui į serverį (pvz., JSON objektai).
  • Gauto duomenų dekodavimas iš tinklo.
  • Nustatymų ar duomenų išsaugojimas vietiniuose failuose.

Pavyzdys:

struct User: Codable {
    let id: Int
    let name: String
}

// Kodavimas į JSON
let user = User(id: 1, name: "Иван")
let jsonData = try JSONEncoder().encode(user)

// Dekodavimas iš JSON
let decodedUser = try JSONDecoder().decode(User.self, from: jsonData)