gpt4 book ai didi

ios - 如何声明自定义对象,例如。可编码类中的计时器

转载 作者:行者123 更新时间:2023-11-29 05:40:27 25 4
gpt4 key购买 nike

我遇到了可编码的问题。我无法理解如何在可编码类中初始化自定义计时器对象。

    class ShelfItem: Codable {

var objTimer = Timer()

或者我尝试这样做

     // var objTimer: Timer()
}

但它向我显示错误“类型'ShelfItem'不符合协议(protocol)'Encodable'”

最佳答案

Timer 对象进行编码/解码是没有意义的。

要从编码中排除 objTimer,请为其他属性添加 CodingKeys 并省略 objTimer

简单示例(在大多数情况下,您甚至不需要类(class))

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()
}
}

关于ios - 如何声明自定义对象,例如。可编码类中的计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56608134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com