72 lines
1.9 KiB
Swift
72 lines
1.9 KiB
Swift
//
|
|
// UserDefaultsExtension.swift
|
|
// yozm
|
|
//
|
|
// Created by klaus on 2022/05/20.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
enum UserDefaultsKey: String, CaseIterable {
|
|
case auth
|
|
case role
|
|
case can
|
|
case token
|
|
case email
|
|
case userId
|
|
case nickname
|
|
case pushToken
|
|
case profileImage
|
|
case devicePushToken
|
|
case isContentPlayLoop
|
|
case isFollowedChannel
|
|
case isViewedOnboardingView
|
|
case notShowingEventPopupId
|
|
}
|
|
|
|
extension UserDefaults {
|
|
static func set(_ value: Bool, forKey key: UserDefaultsKey) {
|
|
let key = key.rawValue
|
|
UserDefaults.standard.set(value, forKey: key)
|
|
}
|
|
|
|
static func bool(forKey key: UserDefaultsKey) -> Bool {
|
|
let key = key.rawValue
|
|
return UserDefaults.standard.bool(forKey: key)
|
|
}
|
|
|
|
static func set(_ value: String, forKey key: UserDefaultsKey) {
|
|
let key = key.rawValue
|
|
UserDefaults.standard.set(value, forKey: key)
|
|
}
|
|
|
|
static func string(forKey key: UserDefaultsKey) -> String {
|
|
let key = key.rawValue
|
|
return UserDefaults.standard.string(forKey: key) ?? ""
|
|
}
|
|
|
|
static func set(_ value: Int, forKey key: UserDefaultsKey) {
|
|
let key = key.rawValue
|
|
UserDefaults.standard.set(value, forKey: key)
|
|
}
|
|
|
|
static func int(forKey key: UserDefaultsKey) -> Int {
|
|
let key = key.rawValue
|
|
return UserDefaults.standard.integer(forKey: key)
|
|
}
|
|
|
|
static func set(_ value: Data, forKey key: UserDefaultsKey) {
|
|
let key = key.rawValue
|
|
UserDefaults.standard.set(value, forKey: key)
|
|
}
|
|
|
|
static func data(forKey key: UserDefaultsKey) -> Data? {
|
|
let key = key.rawValue
|
|
return UserDefaults.standard.data(forKey: key)
|
|
}
|
|
|
|
static func reset() {
|
|
UserDefaultsKey.allCases.forEach { UserDefaults.standard.removeObject(forKey: $0.rawValue) }
|
|
}
|
|
}
|