[swift] SwiftyUserDefaults와 함께하는 케이스 스터디

SwiftyUserDefaults는 Swift용으로 작성된 사용자 기본값 라이브러리입니다. 이 라이브러리를 사용하면 간편하게 UserDefaults를 다룰 수 있으며, 코드의 가독성과 유지보수성을 향상시킬 수 있습니다.

이번 케이스 스터디에서는 SwiftyUserDefaults를 사용하여 간단한 사용자 설정을 저장하고 검색하는 기능을 구현하는 방법을 살펴보겠습니다.

SwiftyUserDefaults 설치하기

SwiftyUserDefaults는 CocoaPods나 Swift Package Manager를 통해 프로젝트에 설치할 수 있습니다. 아래는 CocoaPods를 사용하는 방법입니다.

  1. Podfile에 SwiftyUserDefaults를 추가합니다.
pod 'SwiftyUserDefaults'
  1. 터미널에서 pod install 명령어를 실행하여 의존성을 설치합니다.

사용자 설정 저장하기

먼저, SwiftyUserDefaults를 import하여 사용자 설정을 저장하는 기능을 구현해보겠습니다.

import SwiftyUserDefaults

// Setting 모델 정의하기
struct Setting {
    @Default("en") var language: String
    @Default(true) var darkModeEnabled: Bool
}

// Setting 값을 저장하고 검색하는 클래스
class SettingsManager {
    static let shared = SettingsManager()
    
    var setting: Setting {
        get { return Defaults[\.setting] }
        set { Defaults[\.setting] = newValue }
    }
}

// 사용 예시
SettingsManager.shared.setting.language = "ko"
SettingsManager.shared.setting.darkModeEnabled = false

위의 코드에서는 Setting이라는 모델을 정의하고, 해당 모델에 SwiftyUserDefaults를 적용하여 기본값을 설정합니다. 그리고 SettingsManager 클래스를 사용하여 Setting 값을 저장하고 검색할 수 있습니다.

사용자 설정 검색하기

다음으로, 저장된 사용자 설정을 검색하는 기능을 구현해보겠습니다.

import SwiftyUserDefaults

// 기본 설정 조회하기
let defaultSetting = Defaults.emptyObject(of: Setting.self)

// 저장된 설정 조회하기
let storedSetting = Defaults[\.setting]

위의 코드에서는 Defaults 객체의 emptyObject(of:) 메서드를 사용하여 기본 설정을 조회하고, Defaults 객체의 [\.setting] 접근자를 사용하여 저장된 설정을 조회할 수 있습니다.

결론

SwiftyUserDefaults를 사용하면 UserDefaults를 더욱 편리하게 다룰 수 있습니다. 이 라이브러리를 활용하여 사용자 설정을 저장하고 검색하는 기능을 구현할 수 있습니다. SwiftyUserDefaults는 코드의 가독성과 유지보수성을 향상시켜주는 강력한 도구입니다.

더 자세한 사항은 SwiftyUserDefaults GitHub 레포지토리를 참고하시기 바랍니다.