1、不多话直接上干货
1、新建swift文件 在swift项目当中UserDefailts是天生的单例模式
import UIKit
// 遵循协议RawRepresentable
protocol UserDefaultsSettable {
associatedtype defaultKeys: RawRepresentable
}
//扩展存的方便使用
extension UserDefaultsSettable where defaultKeys.RawValue==String {
static func set(value: String?, forKey key: defaultKeys) {
let aKey = key.rawValue
UserDefaults.standard.set(value, forKey: aKey)
}
//扩展取的方便使用
static func string(forKey key: defaultKeys) -> String? {
let aKey = key.rawValue
return UserDefaults.standard.string(forKey: aKey)
}
}
//扩展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
}
}
//全局清除缓存数据
class func clearAllUserDefaultsData(){
if let appDomain = Bundle.main.bundleIdentifier {
UserDefaults.standard.removePersistentDomain(forName: appDomain)
}
}
}
2、接下来重点来了怎么使用简单快捷
UserDefaults.LoginInfo.set(value: str, forKey:.token) 存
UserDefaults.LoginInfo.string(forKey:.token)! 取
UserDefaults.clearAllUserDefaultsData() 消失所有
是我花了一点带你时间写分享下,好用记得给点赞。