是否可以取消
NSURLConnection
start withsendAsynchronousRequest:queue:completionHandler:
?为什么不
sendAsynchronousRequest:queue:completionHandler:
返回NSURLConnection
它创建的对象以便我可以取消它?
问问题
3904 次
1 回答
5
编辑 - 由于我提供的答案似乎是错误的,您应该查看以下相关问题及其答案:
如何通过 NSURLConnection sendAsynchronousRequest 取消异步调用?
老答案:
在你的类的标题中(例如 ViewController),声明一个操作队列:
NSOperationQueue *downloadOperationQueue;
要下载文件,请调用以下内容:
downloadOperationQueue = [[NSOperationQueue alloc] init];
NSURLRequest *fileRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com/images/nav_logo114.png"]
cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData
timeoutInterval:10];
[NSURLConnection sendAsynchronousRequest:fileRequest
queue:downloadOperationQueue
completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
NSLog(@"download successful");
}];
稍后在通话中取消下载:
[downloadOperationQueue cancelAllOperations];
于 2012-09-11T13:54:08.250 回答