我想在 UserDefaults 中保存快速结构对象,因为我需要确认 Codable协议。我正在尝试这种方式,但是遇到了一些错误-:
1)没有“解码”候选项产生预期的上下文结果类型“ NSError”
2)没有“解码”候选词产生预期的上下文结果类型“ NSError”
如何解决这个问题?
import Foundation
struct FailedImage: Codable {
let url: String
var downloadAttempt: Int
var error: NSError
enum CodingKeys:String,CodingKey
{
case error
}
init(from decoder: Decoder) throws {
let values = try decoder.container(keyedBy: CodingKeys.self)
error = try values.decode(NSError.self, forKey: .error)
}
func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encode(error, forKey: .error)
}
}
有错误的代码的屏幕截图 MDN specs