表达类型' DataRequest'没有更多上下文Swift 3是模棱两可的

时间:2017-04-13 07:42:59

标签: swift3 alamofire

我是新手,我有一个错误,我不知道如何解决,所以我会很感激所有的帮助。我正在从swift 2迁移到swift 3,我收到了这个错误:

  

表达式类型' DataRequest'在没有更多背景的情况下是模棱两可的

这是我的代码:

 static func renewToken(_ onSuccess: @escaping (JSON) -> Void, onFailure: @escaping (NSError) -> Void) {

    let token = DataManager.token?.token
    let header = ["Authorization": "Bearer "+token!]

    Alamofire.request("\(BASE_URL)\(RENEWTOKEN_PATH)", method: .get, parameters: nil, encoding: .JSONEncoding.default, headers: header)
        .validate()
        .responseJSON { response in
            switch response.result{
            case .Success(let jsonObj):
                onSuccess(JSON(jsonObj))


            case .Failure(let error):
                onFailure(error)
            }
    }
}

1 个答案:

答案 0 :(得分:1)

您的错误会产生误导,您需要对代码进行3次更改。

  1. 编码时不是.JSONEncoding.default,而只是JSONEncoding.default
  2. 结果Alamofire 4.*的{​​{1}}和Swift 3.*案例.Success.Failure现在以小写字母enum和{{1}写入}。
  3. 从Swift 3使用.success代替.failure
  4. 所以整个代码都是这样的。

    Error