[swift] SwiftyUserDefaults를 사용하여 사용자 인터페이스 언어 설정을 변경하는 방법은 어떻게 되나요?

SwiftyUserDefaults는 UserDefaults를 좀 더 쉽고 간편하게 사용할 수 있도록 도와주는 라이브러리입니다. 이를 사용하여 사용자 인터페이스 언어 설정을 변경할 수 있습니다.

먼저 SwiftyUserDefaults를 프로젝트에 추가해야 합니다. 이를 위해 CocoaPods를 사용할 수 있습니다. Podfile에 다음을 추가하고, 터미널에서 ‘pod install’ 명령을 실행하세요.

pod 'SwiftyUserDefaults'

이제 프로젝트에서 사용자가 선택한 언어를 저장하고 변경할 수 있는 환경 변수를 설정해야 합니다. 예를 들어, ‘language’라는 키로 문자열 값을 저장하는 경우, 다음과 같이 선언합니다.

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

사용자가 언어를 변경하면 해당 값을 업데이트하여 저장합니다. 예를 들어, 사용자가 영어로 언어를 변경하면 다음과 같이 처리합니다.

Defaults[.language] = "en"

이제 어디서든지 사용자가 선택한 언어를 가져올 수 있습니다. 예를 들어, 현재 설정된 언어를 출력하려면 다음과 같이 작성합니다.

print(Defaults[.language])

프로젝트에서 언어 설정이 변경되면 해당 설정을 바탕으로 앱 내의 텍스트 리소스를 로드하고 업데이트하는 로직을 추가해야 합니다. 이를 위해서는 해당 로직을 수행해야 하는 시점에 SwiftyUserDefaults로부터 저장된 언어 설정을 가져오고, 이를 바탕으로 앱의 사용자 인터페이스에 적절한 언어로 업데이트하는 작업을 수행합니다.

참고 자료: