2017-04-14 11 views
0

今、私はAlamoFireAlamofireObjectMapperライブラリにネットワーク層クラスを作成しようとしています。私はここでプロジェクトに一般的なパラメータをクロージャで推論することはできません

import Alamofire 
import AlamofireObjectMapper 
import ObjectMapper 

を、以下のライブラリをインポートしている、ここで次のコード

func getRequest<T: BaseMappable>(_ url : String, 
           success: @escaping (DataResponse<T>) -> Void, 
           failure: @escaping (Error) -> Void) -> Void { 

    self.request(url, method: .get).responseObject{ (response : DataResponse<T>) in 

     success(response as DataResponse<T>) 
    }   
} 

があるget要求する1つの方法を作成した方法にしようとしたときに、私は取得していますエラーですadvancの中ViewController

enter image description here

おかげであなたのためのe

答えて

2

ブロック引数で(response: DataResponse <Country>)に変更してみてください。

これは、ジェネリック関数がジェネリックパラメータに使用するタイプを知らず、タイプチェッカーがそれを推論できないためです。タイプを明示的に述べることで助けてください。

は、型の値「(国) - >()」に変換できません上記の溶液に応じて変化させながら、私はこのエラーを取得しています
+0

予想引数の型に「(DataResponse <_>) - >ボイド」 – Tech

+0

'でなければなりません申し訳ありません。DataResponse ')'。回答を編集 – Alistra

+0

ありがとう@Alistra私はあなたの答えの前にこのことがあったが、あなたの答えはあなたの努力のために正解です。 – Tech

関連する問題