[swift] SwiftyUserDefaults로 사용자 로그인 기록 관리하기

로그인 기능은 많은 애플리케이션에서 필수적인 기능 중 하나입니다. 사용자의 로그인 상태를 유지하고 관리하는 방법은 매우 중요합니다. 이번에는 SwiftyUserDefaults 라이브러리를 사용하여 사용자 로그인 기록을 관리하는 방법을 알아보겠습니다.

SwiftyUserDefaults란?

SwiftyUserDefaults는 UserDefaults를 더 쉽게 사용할 수 있도록 도와주는 Swift 라이브러리입니다. UserDefaults는 간단한 데이터를 저장하는데 사용되며, SwiftyUserDefaults는 이를 간단하게 사용할 수 있도록 문법적인 편의성을 제공합니다.

설치하기

SwiftyUserDefaults는 CocoaPods를 통해 설치할 수 있습니다. Podfile에 다음과 같이 추가한 후 pod install 명령을 실행하면 됩니다.

pod 'SwiftyUserDefaults'

사용자 로그인 기록 저장하기

사용자 로그인 기록을 UserDefaults에 저장하기 위해 다음과 같이 코드를 작성합니다.

import SwiftyUserDefaults

// 로그인 상태를 저장할 Key 선언
extension DefaultsKeys {
    static let isLoggedIn = DefaultsKey<Bool>("isLoggedIn")
}

// 로그인 상태 저장
func saveLoginState(isLoggedIn: Bool) {
    Defaults[.isLoggedIn] = isLoggedIn
}

위의 코드에서는 SwiftyUserDefaults의 DefaultsKeys를 사용하여 isLoggedIn이라는 Key를 선언하고, saveLoginState 함수를 작성하여 해당 Key에 로그인 상태를 저장하는 용도로 사용하였습니다.

사용자 로그인 상태 불러오기

저장한 로그인 상태를 불러오기 위해서는 다음과 같이 코드를 작성합니다.

import SwiftyUserDefaults

// 로그인 상태 가져오기
func getLoginState() -> Bool {
    return Defaults[.isLoggedIn]
}

getLoginState 함수를 호출하면 저장된 로그인 상태를 반환합니다.

사용자 로그인 상태 확인하기

저장된 로그인 상태를 확인하여 애플리케이션 내에서 다양한 기능을 구현할 수 있습니다. 다음은 로그인 상태에 따라 화면을 분기하는 예제입니다.

import SwiftyUserDefaults

// 로그인 상태 확인
func checkLoginState() {
    if getLoginState() {
        // 로그인 상태일 경우
        // 홈 화면으로 이동
    } else {
        // 로그아웃 상태일 경우
        // 로그인 화면으로 이동
    }
}

위의 예제에서는 checkLoginState 함수에서 getLoginState 함수를 호출하여 로그인 상태를 확인하고, 이에 따라 이동할 화면을 결정하고 있습니다.

결론

SwiftyUserDefaults는 UserDefaults를 더 효율적으로 사용할 수 있게 해주는 라이브러리로, 사용자 로그인 기록과 같은 간단한 데이터를 관리하는데 유용합니다. 이번 예시를 통해 SwiftyUserDefaults의 기본 사용법을 알아보았는데, 다양한 기능을 활용하여 애플리케이션의 사용자 데이터 관리를 보다 효율적으로 할 수 있습니다.

참고 자료