2016-05-19 8 views
0

次のコードで、クラスをresponseTypeに渡すにはどうすればよいですか?クラス型を汎用に渡す

func sendGetRequest(url:String, 
        request: String, 
        responseType: AnyClass, 
        completion: (AnyObject?, ServerError?)-> Void) { 
Alamofire.request(.GET, url, parameters: nil, encoding: .JSON, headers: headers) 
     .validate() 
     .responseObject { (response: Response<**responseType**, NSError>) in 

... 

} 

現在AnyClassは、それは私が実際のクラスでresponseTypeを交換した場合、それが動作 「responseTypeがタイプではありません」と言う機能していません。しかし、私は関数を汎用的にしたいと思っていますし、responseTypeは適切にマップするための任意のクラスにすることができます。

答えて

0

これはあなたが使用しようとしている方法である場合:

https://github.com/Alamofire/Alamofire/search?utf8=%E2%9C%93&q=responseObject

問題がAnyClassがResponseObjectSerializableに準拠していないということです次に、あなたはResponseObjectSerializableのための必要なメソッドが含まれるようにAnyClassを拡張することができ、またはメソッドのパラメータをanyClassの代わりにResponseObjectSerializableにすることができます

+0

いいです。私はResponseObjectSerializable部分への確認を忘れました。ありがとう。 – Tarang

関連する問題