1、不多話直接上干貨
1、新建swift文件 在swift項(xiàng)目當(dāng)中UserDefailts是天生的單例模式
import UIKit
// 遵循協(xié)議RawRepresentable
protocol UserDefaultsSettable {
associatedtype defaultKeys: RawRepresentable
}
//擴(kuò)展存的方便使用
extension UserDefaultsSettable where defaultKeys.RawValue==String {
static func set(value: String?, forKey key: defaultKeys) {
let aKey = key.rawValue
UserDefaults.standard.set(value, forKey: aKey)
}
//擴(kuò)展取的方便使用
static func string(forKey key: defaultKeys) -> String? {
let aKey = key.rawValue
return UserDefaults.standard.string(forKey: aKey)
}
}
//擴(kuò)展UserDefaults
extension UserDefaults {
// 添加賬戶信息key
struct AccountInfo: UserDefaultsSettable {
enum defaultKeys: String {
case userName
case age
}
}
// 添加登錄信息key
struct LoginInfo: UserDefaultsSettable {
enum defaultKeys: String {
case token
case userId
}
}
//全局清除緩存數(shù)據(jù)
class func clearAllUserDefaultsData(){
if let appDomain = Bundle.main.bundleIdentifier {
UserDefaults.standard.removePersistentDomain(forName: appDomain)
}
}
}
2、接下來重點(diǎn)來了怎么使用簡單快捷
UserDefaults.LoginInfo.set(value: str, forKey:.token) 存
UserDefaults.LoginInfo.string(forKey:.token)! 取
UserDefaults.clearAllUserDefaultsData() 消失所有
是我花了一點(diǎn)帶你時(shí)間寫分享下,好用記得給點(diǎn)贊。