[swift] SwiftyUserDefaults에서 사용자 정의 데이터 타입의 딕셔너리를 저장하는 방법은 어떻게 되는가?

먼저, SwiftyUserDefaults에 사용자 정의 데이터 타입을 저장하기 위해 Codable 프로토콜을 준수하는 구조체를 만들어야 합니다. 예를 들어, 사용자 정의 데이터 타입인 “Person”을 딕셔너리 형태로 저장하고 싶다면 Person 구조체를 Codable로 선언해야 합니다.

struct Person: Codable {
    var name: String
    var age: Int
}

다음으로, SwiftyUserDefaults에 딕셔너리를 저장하기 위해 UserDefaults extension을 사용합니다. 아래 코드와 같이 [String: Person] 형태로 딕셔너리를 선언하고, Codable을 준수하는 데이터 타입에 대해 defaultsKey를 설정합니다.

import SwiftyUserDefaults

extension DefaultsKeys {
    var personDictionary: DefaultsKey<[String: Person]> {
        return .init("personDictionary")
    }
}

이제, 저장하고자 하는 딕셔너리를 가져와서 SwiftyUserDefaults를 통해 저장 또는 불러올 수 있습니다.

var myDictionary: [String: Person] = ["John": Person(name: "John Appleseed", age: 25), "Jane": Person(name: "Jane Smith", age: 30)]

// 딕셔너리 저장
Defaults[.personDictionary] = myDictionary

// 딕셔너리 불러오기
let loadedDictionary = Defaults[.personDictionary]

이제, SwiftyUserDefaults를 사용하여 사용자 정의 데이터 타입의 딕셔너리를 저장하고 불러올 수 있습니다. 이를 통해 편리하게 사용자 정의 데이터 타입을 UserDefaults에 저장하고 다시 불러올 수 있습니다.

더 자세한 내용은 SwiftyUserDefaults GitHub 페이지를 참조하십시오.