可解码类型数组不可解码
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
。这不是你在这种情况下看到的吗?
如果我们有一个类型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
。这不是你在这种情况下看到的吗?