我有一个应用程序为HTTP请求执行一些复杂的工作构建数据,目前请求本身(使用AFNetworking)也是将由dispatch_async
包装的方法的一部分。重构事物是否更好,以便AFNetworking调用不被包裹?
// expensive set up code then...
AFHTTPRequestOperation *requestOperation =
[manager HTTPRequestOperationWithRequest:request
success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"response %@", responseObject);
success(responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error %@", error);
failure(error);
}];
requestOperation.responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingMutableContainers];
[[NSOperationQueue mainQueue] addOperation:requestOperation];
return requestOperation;
答案 0 :(得分:2)
你在哪个线程上调用它并不重要。 AFNetworking将在其自己的队列上创建请求操作,并调用主队列上的完成处理程序。