Я хочу сохранить объект быстрой структуры в UserDefaults , для этого мне нужно подтвердить Кодируемый протокол . Я пытаюсь таким образом, но получаю некоторые ошибки -:
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)
}
}
Снимок экрана с кодом ошибки