728x90
반응형
UserDefaults 란
- 런타임 환경에서 동작하면서, 앱이 실행되는 동안 기본저장소에 데이터를 저장하고 가져옴
- key - value 형태
- 싱글턴 패턴
func saveTasks(){
let data = self.tasks.map{
[
"title" : $0.title,
"done" : $0.done
]
}
// 저장
let userDefaults = UserDefaults.standard
userDefaults.set(data, forKey: "tasks")
}
func loasTasks(){
// 데이터 로드
let userDefaults = UserDefaults.standard
guard let data = userDefaults.object(forKey: "tasks") as? [[String : Any]] else {return}
// 맵형태로 만들기
self.tasks = data.compactMap{
guard let title = $0["title"] as? String else {return nil}
guard let done = $0["done"] as? Bool else {return nil}
return Task(title: title, done: done)
}
}
728x90
반응형