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

SwiftyUserDefaults는 UserDefaults를 좀 더 쉽게 사용할 수 있도록 해주는 라이브러리입니다. 기본 데이터 타입인 Int나 String을 저장하는 방법은 간단하지만, 사용자가 직접 정의한 데이터 타입을 저장하는 방법은 조금 다릅니다. 이번에는 SwiftyUserDefaults를 사용하여 사용자 정의 데이터 타입의 속성을 저장하는 방법을 알아보겠습니다.

먼저, SwiftyUserDefaults를 프로젝트에 추가합니다. Cocoapods를 사용한다면, Podfile에 다음과 같이 추가합니다.

pod 'SwiftyUserDefaults'

프로젝트를 업데이트한 후에는 SwiftyUserDefaults를 import하여 사용할 수 있습니다.

import SwiftyUserDefaults

이제 사용자 정의 데이터 타입을 저장하기 위해 SwiftyUserDefaults의 DefaultCodable 프로토콜을 구현해야 합니다. 예를 들어, 다음과 같은 사용자 정의 데이터 타입이 있다고 가정해봅시다.

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

이 경우에는 DefaultCodable 프로토콜을 구현하기 위해 다음과 같이 코드를 작성합니다.

extension Person: DefaultCodable {}

extension DefaultsKeys {
  static let person = DefaultsKey<Person>("person")
}

이제 Person 데이터 타입의 속성을 저장하거나 불러올 수 있습니다. 예를 들어, 다음과 같은 코드를 사용하면 됩니다.

let person = Person(name: "John", age: 30)
Defaults[.person] = person

if let loadedPerson = Defaults[.person] {
  print(loadedPerson.name) // "John"
  print(loadedPerson.age) // 30
}

위에서 설명한 방법을 사용하면 SwiftyUserDefaults를 사용하여 사용자 정의 데이터 타입의 속성을 쉽게 저장하고 불러올 수 있습니다.

더 자세한 내용은 SwiftyUserDefaults GitHub 페이지를 참고해주세요.