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)