无法调用非函数类型'NSHTTPURLResponse?'的值无法调用非函数类型'NSHTTPURLResponse?'的值Alamofire ObjectMapper
有人可以帮我吗?
下面是代码
public func responseObject<T: Mappable>(queue: dispatch_queue_t?, keyPath: String?, completionHandler: (NSURLRequest, NSHTTPURLResponse?, T?, AnyObject?, ErrorType?) -> Void) -> Self {
return response(queue: queue, responseSerializer: Request.JSONResponseSerializer(options: NSJSONReadingOptions.AllowFragments)) { request, response, result in
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
let parsedObject = Mapper<T>().map(keyPath != nil ? result.value?[keyPath!] : result.value)
dispatch_async(queue ?? dispatch_get_main_queue()) {
completionHandler(self.request!, self.response, parsedObject, result.value ?? result.data, result.error)
}
}
}
}
我的坏,我没有注意到Alamofire 2.0的返回类型,
这是固定的,更新的代码是在这里
public func responseObject<T: Mappable>(queue: dispatch_queue_t?, keyPath: String?, completionHandler: (NSURLRequest, NSHTTPURLResponse?, T?, AnyObject?, ErrorType?) -> Void) -> Self {
let serializer = Request.JSONResponseSerializer(options: NSJSONReadingOptions.AllowFragments)
return response(queue: queue, responseSerializer: serializer) { (Response) -> Void in
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
let parsedObject = Mapper<T>().map(keyPath != nil ? Response.result.value?[keyPath!] : Response.result.value)
dispatch_async(queue ?? dispatch_get_main_queue()) {
completionHandler(self.request!, self.response, parsedObject, Response.result.value ?? Response.result.value, Response.result.error)
}
}
}
}
我试过使用Alamofire 2.0响应串行器,这也给出了相同的错误 – Abh
请写下你的代码,不要发布一个屏幕截图。 – SJuan76
我已经添加了代码。任何想法? – Abh