iOS - Swift
[iOS/Swift] UserDefaults 반환/저장하기 (feat. 자동 로그인 여부 저장)
개발자 수니
2022. 6. 9. 23:09
728x90
반응형
📌 이번 글은
UserDefaults 값을 반환하고, 저장하는 방법입니다.
UserDefaults
UserDefaults는 앱의 '데이터 저장소' 입니다.
여러 타입(Any)의 객체를 저장할 수 있고, 사용자 기본 설정과 같은 단일 데이터 값을 저장하고자 할 때 적합합니다.
저는 종종 자동 로그인 여부(isAutoLogin)를 저장할 때 사용합니다.
UserDefaults 값 저장
let defaults = UserDefaults.standard
defaults.set(true, forKey: "isAutoLogin")
UserDefaults 값 반환
let defaults = UserDefaults.standard
if let object = defaults.object(forKey: "isAutoLogin") {
print("자동 로그인 \(object)")
} else {
print("자동 로그인 값 없음")
}
👩🏻💻 응용
- 공통 클래스에 UserDefaults 반환/저장 공용 함수 정의
class Common {
/**
# (E) UserDefaultsKey
- Authors: suni
*/
enum UserDefaultsKey: String {
case isFirstEntryApp
case isAutoLogin
}
/**
# getUserDefaultsObject
- parameters:
- defaultsKey : 반환할 value의 UserDefaults Key - (E) Common.UserDefaultsKey
- Authors: suni
- Note: UserDefaults 값을 반환하는 공용 함수
*/
static func getUserDefaultsObject(forKey defaultsKey: UserDefaultsKey) -> Any? {
let defaults = UserDefaults.standard
if let object = defaults.object(forKey: defaultsKey.rawValue) {
return object
} else {
return nil
}
}
/**
# setUserDefaults
- parameters:
- value : 저장할 값
- defaultsKey : 저장할 value의 UserDefaults Key - (E) Common.UserDefaultsKey
- Authors: suni
- Note: UserDefaults 값을 저장하는 공용 함수
*/
static func setUserDefaults(_ value: Any?, forKey defaultsKey: UserDefaultsKey) {
let defaults = UserDefaults.standard
defaults.set(value, forKey: defaultsKey.rawValue)
}
}
- 사용
if let isAuto = Common.getUserDefaultsObject(forKey: .isAutoLogin) as? Bool {
print("자동 로그인 \(isAuto)")
} else {
print("자동 로그인 없음")
Common.setUserDefaults(false, forKey: .isAutoLogin) // 자동 로그인 false 저장
}
728x90
반응형