可编码协议一致性

时间:2017-06-12 18:32:21

标签: swift swift4 codable

我想实现符合Codable的容器类型,但遇到了一些问题。我想将我的容器通用化以容纳任何可以编码的元素。解码。最初,我有这个:

struct Container: Codable {
    var identifier: String
    var element: Any
}

...但改变它以便我可以有某种类型的安全性。有人能解释一下究竟发生了什么吗?

我的代码

struct Container: Codable {
    var identifier: String
    var element: Codable
}

编译器输出

Playground execution failed:

MyPlayground.playground:3:9: note: cannot automatically synthesize 'Decodable' because 'Codable' (aka 'Decodable & Encodable') does not conform to 'Decodable'
    var element: Codable
...

0 个答案:

没有答案