2017-07-21 10 views
0

Swift2コードをSwift3に変換しています。Swift3:AFNetworkingの問題Swift2からSwift3への変換の問題

私は、次のエラーメッセージが表示されました

manager.post(url, parameters: dict, 
 
     success: { (operation: AFHTTPRequestOperation?, responseObject: Any?) in 
 
      self.removeActivityIndicator()      
 
      
 
      if let jsonDict = self.parseJSON(responseObject) { 
 
       callback(jsonDict) 
 
      } 
 
     }, 
 
     failure: { (operation: AFHTTPRequestOperation!, error: NSError!) in 
 
      self.removeActivityIndicator() 
 
      
 
      print("Error: " + error.localizedDescription) 
 
      var dict = error.userInfo 
 
      dict["error"] = error.localizedDescription 
 
      if let jsonDict = dict as? Dictionary<String, AnyObject> { 
 
       callback(jsonDict) 
 
      } 
 
     } 
 
)
失敗のセクションで

Swift2内のコード、私は変換

Cannot convert value of type '(AFHTTPRequestOperation!, NSError!) ->()' to expected argument type '((AFHTTPRequestOperation?, Error?) -> Void)!' 

failure: { (operation: AFHTTPRequestOperation!, error: NSError!)

failure: { (operation, error)に私が持って、ライン上のエラー

var dict = error.userInfo 

+2

まず、AFNetworkingを更新しましたか?より迅速なAlamofire(グループの作者によるフレームワークの同じファミリ)を好まない理由は何ですか?あなたはオートコンプリートをその仕事をさせようとしましたか?そのブロックのSwift 3の署名が変更されました。つまり、その誤りのことです。 – Larme

答えて

1

'タイプエラーの値はメンバーのUserInfo' を有します。 。 AlamofireをLarmeのアドバイスや他のサービスの探索として使用してください。 AlamofireはAFNetworkingと同じで非常に柔軟です。コードのマイナーな変更を統合します。 AFNetworkingはSwift3.4ではあまりサポートされていません。

関連する問題