Sobes.tech
Junior — Middle

Каква е основната задача на протокола Codable в Swift и в кои сценарии се използва?

sobes.tech AI

Отговор от AI

Протоколът Codable в Swift обединява два протокола: Encodable и Decodable, и е предназначен да улесни кодирането и декодирането на данни. Основната му задача е преобразуването на персонализирани типове данни (структури, класове) в формати, подходящи за съхранение или предаване (например JSON, Property List), и обратно.

Сценарии за използване на Codable:

  • Сериализация на данни за изпращане към сървър (например JSON обекти).
  • Десериализация на получени данни от мрежата.
  • Запазване на настройки или данни в локални файлове.

Пример:

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

// Кодирането в JSON
let user = User(id: 1, name: "Иван")
let jsonData = try JSONEncoder().encode(user)

// Декодирането от JSON
let decodedUser = try JSONDecoder().decode(User.self, from: jsonData)