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)