可解码类型数组不可解码

Array of Decodable type is not decodable

如果我们有一个类型Foo: Decodable,我们怎样才能使Array<Foo>可解码?

我是否必须创建另一种类型 Foos: Decodable

如果是这样,这将如何工作?


我在这里看到了问题

func exampleMethod<T:Decodable>(type: T) { }

// Argument type 'Array<Foo>.Type' does not conform to expected type 'Decodable'
exampleMethod(type: [Foo].self)

就用这个:

let res = JSONDecoder().decode([Foo].self, data)

您的情况:

exampleMethod(type: [Foo()])

关于exampleMethod 签名你应该写一个数组。不是数组类型。

如果Foo符合Decodable,那么Array<Foo>应该自动符合Decodable。这不是你在这种情况下看到的吗?