swift UserDefailts 项目实战用户信息缓存

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()      消失所有

是我花了一点带你时间写分享下,好用记得给点赞。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容