我想实现一个符合的容器类型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
...