Swift 3.0:没有更多上下文的表达类型是不明确的?

Nir*_*thi 5 expression ios swift

private func makeRequest<T where T:MappableNetwork>(method method: Alamofire.Method, url: String,
                         parameters: [String: AnyObject]?, keyPath: String, handler: NetworkHandler<T>.handlerArray) -> Request {

    let headers = [
        "Authorization": "",
        ]

    return Alamofire
        .request(method, url, parameters: parameters, encoding: .URL, headers: headers)
        .validate()
        .responseArray(keyPath: keyPath) { (response: Alamofire.Response<[T], NSError>) in
            if let error = response.result.error {
                if let data = response.data {
                    let error = self.getError(data)
                    if error != nil {
                        handler(.Error(error: error!))
                        return
                    }
                }
                handler(.Error(error: error))
            } else if let objects = response.result.value {
                handler(.Success(data: objects))
            }
    }
}
Run Code Online (Sandbox Code Playgroud)

我将代码swift 2.x转换为3.x并且我得到错误类型表达式没有更多上下文是模糊的.

在此输入图像描述

Yit*_*hak 5

您提到的错误告诉您编译器无法确定您输入的值的确切类型。

你从一个时期开始,在这个时期之前必须有一些东西。有时编译器可以在没有您帮助的情况下理解。这不是这种情况,它有几个选项,所以它是模棱两可的,它要求你准确地说出你的意思。