1
我正在创建一个函数以用于不同的场合。但为此,我需要将一个函数的返回值转换为在此主函数中作为泛型传递的Object。将对象投射到通用
func makeRequestToApi<T>(object: T, url: String) {
Alamofire.request(.GET, url).responseJSON { request in
if let json = request.result.value {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0)) {
let data = JSON(json)
let object: [T] = self.createProductObject(data) as Any as! [T]
dispatch_async(dispatch_get_main_queue()) {
self.delegate?.networkingDidUpdate(object)
}
}
}
}
}
我想我只需要调用是这样的:
networkingController.makeRequestToApi(Product, url: Urls.menu)
该函数将返回的产品self.createProductObject(data) -> [Product]
但是,一个阵列的Xcode让我补充.self
第一个参数in makeRequestToApi
networkingController.makeRequestToApi(Product.self, url: Urls.menu)
这样,我看到,Swift不会将我的类的返回值转换为Product,因为我需要它。
任何人都知道我需要做什么?
谢谢。