ios - 表达式类型 'DataRequest' 在没有更多上下文 Swift 的情况下是不明确的

标签 ios swift response alamofire ambiguous

我在这个函数中使用 Alamofire 来处理我的请求,如果有人可以帮助我,我会遇到这个错误,请提前致谢。

Expression type 'DataRequest' is ambiguous without more context

 func report(_ track: Track, completionHandler: @escaping (_ error: NSError?) -> Void) {
    var headers:[String:String] = [:]
    if AuthManager.defaultAuthManager().isLoggedIn() {
        headers = ["Authorization": "Bearer " + AuthManager.defaultAuthManager().authToken.token!]
    }
    let params: [String: Any] = ["trackCode": track.code]
    let urlString = Cizoo.APIBaseUrl + CizooScheme.report
    CizooAPI.manager.request(urlString, method: .post, parameters: params, encoding: .JSONEncoding.default, headers: headers as HTTPHeaders)
        .validate()
        .responseJSON(completionHandler: { // Error at this line
            response in
            switch response.result {
            case .success:
                completionHandler(error: nil)
            case .failure(let error):
                completionHandler(error: error)
            }
        })
}

最佳答案

从Alamofire源码可以看出方法的声明是:

@discardableResult
open func request(
    _ url: URLConvertible,
    method: HTTPMethod = .get,
    parameters: Parameters? = nil,
    encoding: ParameterEncoding = URLEncoding.default,
    headers: HTTPHeaders? = nil)
    -> DataRequest
{
    var originalRequest: URLRequest?

    do {
        originalRequest = try URLRequest(url: url, method: method, headers: headers)
        let encodedURLRequest = try encoding.encode(originalRequest!, with: parameters)
        return request(encodedURLRequest)
    } catch {
        return request(originalRequest, failedWith: error)
    }
}

在您的情况下,urlString 可能不符合 URLConvertible 协议(protocol)。

关于ios - 表达式类型 'DataRequest' 在没有更多上下文 Swift 的情况下是不明确的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40937616/

相关文章:

java - 使用 Android 检索响应

python - 如何在响应中设置文件名

ios - 使用 swift 从 Health kit 获取今天的所有步骤,但截断手动添加的步骤

iphone - 查找父 UIActionSheet

ios - 根据 textView 调整单元格大小不起作用?

ios - 如何在swift 4中对字典数组进行排序

go - 从函数中获取响应而不返回 - Golang

ios - Xcode 4.2.1 Storyboard 多对一 View 返回

ios - 将 APN 上传到 Firebase 控制台失败 - "There is no Team ID stored for this app"

json - 带有嵌套 json 作为字符串的 Swift Codable