Попробуйте использовать Codable
до кодирование / декодирование data
для сохранения / извлечения из UserDefaults
.
Соответствие CoursParNiveau
до Codable
и реализуйте enum CodingKeys
, чтобы определить пользовательский keys
, который вы хотите использовать при кодировании / декодировании , то есть
class CoursParNiveau: Codable {
var DateLecon: String?
var HoraireLecon: String?
enum CodingKeys: String, CodingKey {
case DateLecon = "Date"
case HoraireLecon = "Horaire"
}
}
Сохранение в UserDefaults
:
do {
let data = try JSONEncoder().encode(Cours)
UserDefaults.standard.set(data, forKey: "CoursParNiveau")
} catch {
print(error)
}
Извлечение из UserDefaults
:
if let data = UserDefaults.standard.data(forKey: "CoursParNiveau") {
do {
self.Cours = try JSONDecoder().decode([CoursParNiveau].self, from: data)
} catch {
print(error)
}
}