3
私は自分のプロジェクトでAFNetworkingとMantleライブラリを使用しています。私は、迅速な3を移行することを決定し、私はこのエラーを得た - >のgetSourcesの "ジェネリックパラメーター 'ResponseType' を推論することができませんでした"ジェネリックパラメータを推論できませんでした(swift 3)
ApiBaseHelper.swift
class func GET<ResponseType>(url: String, parameters: AnyObject!, path: String!, callback: @escaping (_ operation: AFHTTPRequestOperation?, _ result: [ResponseType]?, _ error: Error?) ->()) -> AFHTTPRequestOperation! where ResponseType: MTLJSONSerializing, ResponseType: MTLModel{
return NetworkManager.sharedInstance!.get(url, parameters: parameters,
success: {(operation: AFHTTPRequestOperation?, result: Any?) -> Void in
self.parseResponse(response: result as AnyObject!, operation: operation, path: path, callback: callback)
},
failure: { (operation: AFHTTPRequestOperation?, error: Error?) -> Void in
print("error get request => \(error)")
callback(operation, nil, error as Error?)
}
)
}
ApiHelper.swift
class func getSources(_ callback: @escaping (_ operation: AFHTTPRequestOperation?, _ contents: [Source]?, _ error: Error?) ->()) {
var params = [String: AnyObject]()
params["apiKey"] = API_KEY as AnyObject?
let url = String(format: SOURCE_PATH)
//generic parameter 'ResponseType' could not be inferred
GET(url: url, parameters: params as AnyObject!, path: "sources") { (operation: AFHTTPRequestOperation!, result: [Source]?, error: Error!) ->() in
callback(operation, result, error)
}
}
機能します
私は同様のアーキテクチャとAlamofireで同じ問題があります – user3237732