为什么#代码#在子类中不起作用的哪个根类已确认为代码协议



[xcode 9,swift 4]

i测试以下代码:

为什么输出为-1,而不是1?

class A: Codable {
}
class A_a: A {
    var a: Int = -1
}
let json = """
{
"a": 1
}
"""
let jsonData = json.data(using: .utf8)!
let obj =  try? JSONDecoder().decode(A_a.self, from: jsonData)
obj?.a

代码是special协议。它的使用受到高度监管。例如,您无法在扩展中确认它。您只能依靠在声明中确认编码的类型。

我认为,这是因为代码生成如何工作。

相关内容

  • 没有找到相关文章

最新更新