2017-04-13 11 views
0

私は初心者ですが、修正方法がわからないというエラーがありますので、すべての助けに感謝します。私は、SWIFT 3に迅速2から移行していると私はこのエラーを取得:Expression type 'DataRequest'は文脈がなくてもあいまいですSwift 3

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つの変更を加える必要があり誤解を招くされています

Expression type 'DataRequest' is ambiguous without more context

はここに私のコードです。今.success.failureのように小文字で記述されていないが、.JSONEncoding.defaultAlamofire 4.*Swift 3.*ケース.Successと結果enum.Failureでは単にJSONEncoding.default

  • そのエンコーディングで

    1. Swift 3よりNSErrorの代わりにErrorを使用してください。

    このようにコード全体がこのようになります。

    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

    関連する問題