카테고리 없음

XX캠퍼스 강의 - ch07 _ UserDefaults ( 로컬에 데이터 저장 )

Machine_웅 2022. 6. 13. 16:33
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
반응형