sguruapp@gmail.com
facebook vk instagram Телеграм youtube

Как сохранить / загрузить структу Codable в UserDefault (Save Struct to UserDefaults. How to load and save a struct in UserDefaults using Codable) - Swift 5


//1
struct CalendarStruct : Codable {
var cDate = ""
var cColor = ""
}


// 2
var calendarData = [CalendarStruct]()


// 3
calendarData = [
CalendarStruct(cDate: "12.05.2020", cColor: "red"),
CalendarStruct(cDate: "15.05.2020", cColor: "green"),
CalendarStruct(cDate: "10.05.2020", cColor: ""),
CalendarStruct(cDate: "19.05.2020", cColor: ""),
CalendarStruct(cDate: "24.05.2020", cColor: "yellow")
]


// 4
func saveData() {
UserDefaults.standard.set(try? PropertyListEncoder().encode(calendarData), forKey:"saveData")
}


// 5
func loadData() {
if let myData = UserDefaults.standard.value(forKey:"saveData") as? Data {

let data = try? PropertyListDecoder().decode(Array<CalendarStruct>.self, from: myData)

calendarData = data ?? [CalendarStruct(cDate: "", cColor: "")]
print(calendarData)
}
}

Возврат к списку

обучись профессии будущего

Хочешь стать успешным разработчиком
приложений? Тогда добро пожаловать к нам.

обучись профессии будущего