可解码类型的数组不可解码

时间:2019-09-26 22:02:03

标签: swift types 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)

2 个答案:

答案 0 :(得分:0)

只需使用此:

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

针对您的情况:

exampleMethod(type: [Foo()])

关于exampleMethod签名,您应该编写一个数组。不是一种数组。

答案 1 :(得分:0)

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