|
@@ -626,15 +626,14 @@ public class Request {
|
|
|
:returns: The request.
|
|
:returns: The request.
|
|
|
*/
|
|
*/
|
|
|
public func response(priority: Int = DISPATCH_QUEUE_PRIORITY_DEFAULT, queue: dispatch_queue_t? = nil, serializer: Serializer, completionHandler: (NSURLRequest, NSHTTPURLResponse?, AnyObject?, NSError?) -> Void) -> Self {
|
|
public func response(priority: Int = DISPATCH_QUEUE_PRIORITY_DEFAULT, queue: dispatch_queue_t? = nil, serializer: Serializer, completionHandler: (NSURLRequest, NSHTTPURLResponse?, AnyObject?, NSError?) -> Void) -> Self {
|
|
|
- dispatch_async(delegate.queue, {
|
|
|
|
|
- dispatch_async(dispatch_get_global_queue(priority, 0), {
|
|
|
|
|
- let (responseObject: AnyObject?, serializationError: NSError?) = serializer(self.request, self.response, self.delegate.data)
|
|
|
|
|
-
|
|
|
|
|
- dispatch_async(queue ?? dispatch_get_main_queue(), {
|
|
|
|
|
- completionHandler(self.request, self.response, responseObject, self.delegate.error ?? serializationError)
|
|
|
|
|
- })
|
|
|
|
|
- })
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ let delegate = self.delegate
|
|
|
|
|
+ dispatch_async(delegate.queue) { [weak delegate] in
|
|
|
|
|
+ let (responseObject: AnyObject?, serializationError: NSError?) = serializer(self.request, self.response, delegate?.data)
|
|
|
|
|
+
|
|
|
|
|
+ dispatch_async(queue ?? dispatch_get_main_queue()) {
|
|
|
|
|
+ completionHandler(self.request, self.response, responseObject, delegate?.error ?? serializationError)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
return self
|
|
return self
|
|
|
}
|
|
}
|