GET
要求を実行し、次に<T>
のデータを解析しようとする静的関数があります。一般的なパラメータ 'T'はクロージャでは推測できません
public static func get<T>(url: NSURL, paramaters: [String : AnyObject]?, paramaterEncoding: ParameterEncoding, compleation:(response: Response<T>) -> Void)
私はそれをどのように呼びますか?
私は、これらの通常の機能は、単に以下の例のように返すことに変数から自分の型を取得などの機能を中心に見てからCannot explicitly specialize a generic function
let url = NSURL(string: "http://g.co")!
typealias JsonResponse = [String : AnyObject]
Notwork.get<JsonResponse>(url, paramaters: nil, paramaterEncoding: ParameterEncoding.json) { (response) in }
のエラーを取得し、以下のようにそれを呼び出そうとします。
let result: Response<JsonResponse> = Notwork.get(url, paramaters: nil, paramaterEncoding: .json)
結果は閉鎖に戻ってくるようしかし、どのように私は<T>
が何であるかを指定するのですか?
おかげ
編集
以下は、同じ問題を示しているいくつかのサンプルコードです。
import Foundation
struct MyClass {
static func myFunction<T>(compleation:(response: T) -> Void) {
let apiResponse = ["some" : "value"]
guard let value = apiResponse as? T else {
return
}
compleation(response: value)
}
}
//Gives error "Generic parameter 'T' could not be inferred"
MyClass.myFunction { (response) in
}
は私たちに、私がgetメソッドは、パラメータの符号化として、この質問に関連していないそこに他のものを持っているのと同じ問題を示している例を追加した 'GET'機能 –
@RMenkeの実装を示し、 ect。 –