Нет смысла вводить / декодировать объект Timer
.
Чтобы исключить objTimer
из кодировки, добавьте CodingKeys
для других свойств и пропустите objTimer
.
Простой пример (в большинстве случаев вам даже не нужен класс)
struct ShelfItem : Codable {
let name : String
var timer : Timer
private enum CodingKeys : String, CodingKey { case name }
init(from decoder : Decoder) throws
{
let container = try decoder.container(keyedBy: CodingKeys.self)
name = try container.decode(String.self, forKey: .name)
timer = Timer()
}
}