Sobes.tech
Назад к вопросам
Junior — Middle
84

Какова основная задача протокола Codable в Swift и в каких сценариях его используют?

Компании, где спрашивали
LingualeoLingualeo

Ответ от нейросети

sobes.tech 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)