为什么不用协议类型编码对象?

时间:2018-02-08 23:53:18

标签: swift codable

我无法让课程A自动合成

以下的可编码性
protocol MyCodableProtocol: Codable { }

class B: MyCodableProtocol { }

class A: Codable {
    var foo: MyCodableProtocol = B()
}
  

无法自动合成'Encodable',因为'MyCodableProtocol'不符合'Encodable'

我也在更简化的问题中得到了问题

class C: Codable {
    var foo: Codable = "foo"
}

为什么会产生更有趣的信息:

  

...因为'Codable'(又名'Decodable& Encodable')不符合'Encodable'

发生了什么事?

0 个答案:

没有答案