swift 可编码+ UserDefaults

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift 可编码+ UserDefaults相关的知识,希望对你有一定的参考价值。

import Foundation

extension UserDefaults {
    
    func set<T>(_ object: T, forKey key: String) where T: Codable {
        let encoder = JSONEncoder()
        let data = try? encoder.encode(object)
        set(data as Any, forKey: key)
    }
    
    func value<T>(type: T.Type, forKey key: String) -> T? where T: Codable {
        guard let data = data(forKey: key) else {
            return nil
        }
        
        let decoder = JSONDecoder()
        
        return try? decoder.decode(type, from: data)
    }
}

以上是关于swift 可编码+ UserDefaults的主要内容,如果未能解决你的问题,请参考以下文章

Swift 可编码初始化

如何在可编码结构中使用计算属性(swift)

Swift 可编码解析 keyNotFound

带有可编码数组的 swift 5 抽象网络响应

swift 可编码

将可编码结构编码为 Alamofire POST 参数 - Swift