2017-04-13 36 views
0

我是新手,我有一個錯誤,我不知道如何解決,所以我將不勝感激所有的幫助。我從2迅速遷移到SWIFT 3,我得到這個錯誤:表達式類型'DataRequest'含糊不清,沒有更多的上下文Swift 3

Expression type 'DataRequest' is ambiguous without more context

這裏是我的代碼:

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) 
      } 
    } 
} 
+0

您的問題*不明確,沒有更多的上下文*。請顯示'DataRequest'的聲明。 – vadian

回答

0

你的錯誤是在誤導你需要使你的代碼3度的變化。

  1. 與編碼它不是.JSONEncoding.default而只是JSONEncoding.default
  2. 隨着Alamofire 4.*Swift 3.*情況下.Success和結果enum.Failure以小寫現在寫這樣.success.failure
  3. 從Swift 3使用Error而不是NSError

所以整個代碼都是這樣的。

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

    let token = "" 
    let header = ["Authorization": "Bearer "+token] 

    Alamofire.request("", 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) 
      } 
    } 
} 
+0

謝謝soooo多!這個。是問題!祝你有美好的一天! – nasamo

相關問題