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)