Sobes.tech
Junior — Middle

Kāda ir galvenā uzdevuma Codable protokolam Swift un kādos scenārijos tas tiek izmantots?

sobes.tech AI

Atbilde no AI

Swift valodā Codable protokols apvieno divus protokolus: Encodable un Decodable, un tas ir paredzēts datu kodēšanas un dekodēšanas vienkāršošanai. Tā galvenais uzdevums ir pārveidot pielāgotus datu tipus (struktūras, klases) formātos, kas ir piemēroti glabāšanai vai pārraidīšanai (piemēram, JSON, Property List), un otrādi.

Codable lietošanas scenāriji:

  • Datu serializācija sūtīšanai uz serveri (piemēram, JSON objekti).
  • Saņemto datu dekodēšana no tīkla.
  • Iestatījumu vai datu saglabāšana vietējās failos.

Piemērs:

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

// Kodēšana uz JSON
let user = User(id: 1, name: "Иван")
let jsonData = try JSONEncoder().encode(user)

// Dekodēšana no JSON
let decodedUser = try JSONDecoder().decode(User.self, from: jsonData)