通用参数T不能通过可选的通用数组来推断

时间:2018-09-25 22:44:17

标签: arrays swift generics

我的Model类中有一个方法,该方法具有以下签名:

func parse<T: Codable>(data: Data) throws -> Array<T>?

当我在另一个类Facade中调用该方法时,我得到了

  

无法推断出通用参数T

调用功能如下

if let data = data {
                do{
                    let parsedArray = try self.model.parse(data: data);
                }
                catch{
                    print(error)
                }

在我调用parse函数的行上给了我编译器警告。

1 个答案:

答案 0 :(得分:1)

您需要显式声明要设置的变量的类型,或向parse方法添加另一个参数并传递所需的类型:

let parsedArray: [YourType] = try model.parse(data: data)