2016-12-04 12 views
-2

GoogleブックAPIを使用して本の詳細を取得しようとしています。エラーの場合、コードはコールバックメソッドを呼び出しますが、呼び出されることはありません。スワイプコールバックが機能しない

コードの礼儀Gitのハブプロジェクト例による - ニコラス・アディソン

スウィフト3では
import Alamofire 
import SwiftyJSON 

class BooksManager 
{ 
    static let sharedInstance = BooksManager() 

    func getBook(_ isbn: String, callback: @escaping (_ error: NSError?, _ book: Book?)->()) 
    { 
     Alamofire.request(
      GoogleBookRouter.searchByISBN(isbn: isbn)) 
      .responseJSON 
      { 
       response in 

       if let error = response.result.error 
       { 
        logger.debug("Failed to call Google Books API: " + error.localizedDescription) 

        //FIXME:- wrap Alamofire error before returning 
        callback(error as NSError?, nil) 
        return 
       } 
      } 
} 
+0

を書きますが、ブレークポイントを追加して、チェックしてみてくださいましたエラー? – Wain

+0

これはSwift 3ですか?はいの場合は、完了ハンドラ内のすべてのパラメータラベルを削除します。 '(NSError ?, Book?) - >()' – vadian

+0

@vadianありがとうございます。ソリューションが機能しました。本当に感謝します。あなたが答えるなら、私はそれを受け入れます。 – ashishn

答えて

1

のクロージャ内のすべてのパラメータのラベルが削除されているので、単純に

func getBook(_ isbn: String, callback: @escaping (NSError?, Book?) ->()) ... 
+0

ありがとうございます。私はなぜ誰かが私の質問をd​​ownvotedしているのだろうか! – ashishn

関連する問題