swift UserDefailts 項(xiàng)目實(shí)戰(zhàn)用戶信息緩存

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)贊。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容