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

SwiftyUserDefaults는 간편하게 User Defaults를 사용할 수 있는 Swift 라이브러리입니다. 기본적으로 Swift의 기본 데이터 타입(Int, String, Bool 등)을 저장하고 가져오는 것은 쉽지만, 사용자 정의 데이터 타입을 저장하는 것은 약간의 추가 작업이 필요합니다.

다음은 SwiftyUserDefaults에서 사용자 정의 데이터 타입을 저장하는 방법입니다:

  1. 사용자 정의 데이터 타입을 저장하기 위해 SwiftyUserDefaults의 키를 설정합니다. 이 키는 User Defaults 내에서 사용되는 고유한 식별자 역할을 합니다. 키는 String 타입으로 지정되어야 합니다.
extension DefaultsKeys {
    static let myCustomDataType = DefaultsKey<MyCustomDataType>("myCustomDataType")
}
  1. 사용자 정의 데이터 타입이 Codable 프로토콜을 준수하도록 구현되어야 합니다. Codable은 SwiftyUserDefaults에서 사용하기 위한 필수 프로토콜입니다.
struct MyCustomDataType: Codable {
    var name: String
    var age: Int
}
  1. 사용자 정의 데이터 타입을 저장하고 가져오는 작업을 수행합니다. 예를 들어, 다음과 같이 값을 저장하고 가져올 수 있습니다:
let myData = MyCustomDataType(name: "John", age: 25)

// 값을 저장
Defaults[.myCustomDataType] = myData

// 값을 가져오기
if let retrievedData = Defaults[.myCustomDataType] {
    print(retrievedData.name) // "John"
    print(retrievedData.age) // 25
}

위의 예시 코드에서 Defaults[.myCustomDataType]는 SwiftyUserDefaults의 문법을 사용하여 값을 저장 및 가져오는 것을 보여줍니다.

SwiftyUserDefaults를 사용하여 사용자 정의 데이터 타입을 저장하고 가져올 수 있으며, 위의 단계를 따라하면 간단하게 구현할 수 있습니다. 추가로 SwiftyUserDefaults의 기능에 대해 더 자세히 알아보고 싶다면 해당 문서를 참조하시기 바랍니다.

참고 문서: SwiftyUserDefaults GitHub