[swift] SwiftyUserDefaults를 사용하여 사용자의 앱 내 포인트 정보를 저장하는 방법은 어떻게 되나요?

SwiftyUserDefaults는 UserDefaults의 기능을 개선한 Swift 라이브러리로, 사용자의 앱 내 정보를 쉽게 저장하고 관리할 수 있게 도와줍니다. 포인트 정보를 저장하기 위해 SwiftyUserDefaults를 사용하는 방법을 알아보겠습니다.

  1. SwiftyUserDefaults 라이브러리 추가하기

먼저, SwiftyUserDefaults 라이브러리를 프로젝트에 추가해야 합니다. Cocoapods를 통해 라이브러리를 설치하는 방법은 다음과 같습니다.

pod 'SwiftyUserDefaults'
  1. 포인트 정보 모델 만들기
import SwiftyUserDefaults

extension DefaultsKeys {
    static let points = DefaultsKey<Int>("points")
}

struct PointManager {
    
    static var points: Int {
        get {
            return Defaults[.points]
        }
        set {
            Defaults[.points] = newValue
        }
    }
    
    static func addPoints(_ amount: Int) {
        points += amount
    }
    
    static func subtractPoints(_ amount: Int) {
        points -= amount
    }
    
    static func resetPoints() {
        points = 0
    }
}
  1. 포인트 정보 저장 및 사용하기

위의 코드에서는 SwiftyUserDefaults의 extension을 사용하여 DefaultsKeys라는 key 타입을 정의하고, 포인트 정보를 관리하는 PointManager를 만들었습니다.

포인트를 사용하는 예시는 아래와 같습니다.

// 포인트 초기화
PointManager.resetPoints()

// 포인트 추가
PointManager.addPoints(10)

// 포인트 감소
PointManager.subtractPoints(5)

// 현재 포인트 확인
let currentPoints = PointManager.points

이렇게 SwiftyUserDefaults를 사용하여 사용자의 앱 내 포인트 정보를 저장하고 관리할 수 있습니다. SwiftyUserDefaults를 사용하면 UserDefaults를 더 간편하게 사용할 수 있으며, 타입 세이프하게 데이터를 저장하고 가져올 수 있습니다.

참고: