[swift] SwiftyUserDefaults를 사용하여 테마 설정을 저장하는 방법은 어떻게 되는가?

SwiftyUserDefaults는 Swift에서 간편하게 UserDefaults를 사용할 수 있게 해주는 라이브러리입니다. UserDefaults를 사용하여 앱의 설정을 저장하고 관리할 수 있습니다.

먼저, SwiftyUserDefaults를 프로젝트에 추가해야 합니다. CocoaPods를 사용하는 경우, Podfile에 다음과 같은 라인을 추가합니다:

pod 'SwiftyUserDefaults'

그리고 터미널에서 pod install 명령을 실행하여 라이브러리를 설치합니다.

테마 설정을 저장하기 위해, 다음과 같이 UserDefault를 사용하는 Extension을 작성합니다:

import Foundation
import SwiftyUserDefaults

extension DefaultsKeys {
    static let theme = DefaultsKey<String>("theme")
}

enum Theme: String {
    case light
    case dark
}

extension DefaultsKeys {
    static let theme = DefaultsKey<String>("theme")
}

class ThemeManager {
    static var currentTheme: Theme {
        get {
            if let savedTheme = Defaults[.theme], let theme = Theme(rawValue: savedTheme) {
                return theme
            }
            return .light 
        }
        set {
            Defaults[.theme] = newValue.rawValue
        }
    }
}

위의 코드에서, DefaultsKeys.theme은 테마 설정을 저장하기 위한 키입니다. Theme은 테마를 나타내는 열거형입니다. Defaults[.theme]을 통해 저장된 테마를 불러올 수 있고, Defaults[.theme] = newValue.rawValue를 통해 테마를 저장할 수 있습니다.

테마 설정을 변경하고 저장하기 위해서는 다음과 같이 호출하면 됩니다:

ThemeManager.currentTheme = .dark // 테마를 dark로 변경하고 저장

테마 설정을 불러오기 위해서는 다음과 같이 호출하면 됩니다:

let currentTheme = ThemeManager.currentTheme // 현재 테마 불러오기

이렇게 설정된 테마는 앱을 다시 실행했을 때에도 유지되어 사용될 것입니다.

SwiftyUserDefaults를 사용하여 테마 설정을 저장하는 방법에 대해 알아보았습니다. 이제 앱에서 테마 설정을 저장하고 관리할 수 있게 되었을 것입니다.