2016-08-17 1 views
0

私はswiftのオブジェクトマッパーを使用しており、問題が発生しました。Object Mapperで使用するクラスタイプを渡します

私はサーバーへの呼び出しを行い、json応答で応答するAPIクラスを持っています。

このAPIクラスでdataTask関数を呼び出すと、クラスタイプを渡したいと思います.JsonレスポンスをObject Mapperを使用してマッピングする必要があります。

func dataTask(method: String, type: AnyClass) { 

    Mapper<AnyClass>().map(response) 

} 

私はマッパーで使用するクラスに渡すことができますかわからない、私はジェネリックを試みたが、私が正しくかどうか、それを実装するかどうかわかりませんでした。

助けてください。

おかげ

+0

' - > Void'と書かないでください。 – Alexander

答えて

1

あなたはどのMappable種類以上のジェネリックだ機能を必要としています。基本的には、の種類ごとにdataTask(method:_:)という1つのバージョンが作成されます。Mapper()の適切なバージョンが呼び出されます。

func dataTask<T: Mappable>(method: String, _: T) { 
    Mapper<T>().map(response) 
} 
+0

私はそれを試しましたが、エラーが発生しました。タイプ "T"はプロトコルMappable –

+0

@JackOfDiamondsに準拠していませんので、 'T'にジェネリック制約を追加してください。私は私の答えを更新しました。 – Alexander

+0

答えを拡大して、コードが問題をどのように解決するかを説明することをおすすめします。 – brandonscript

関連する問題