异步NSURLConnection和NSOperation - 取消

Dev*_*fly 5 iphone xcode cocoa-touch ipad ios

我想取消所有请求.以下是我创建异步连接的方法:

[NSURLConnection sendAsynchronousRequest:echo queue:self.queue completionHandler:^(NSURLResponse *respone, NSData *data, NSError *error){
Run Code Online (Sandbox Code Playgroud)

然后我使用这个方法:

-(void)cancelAllRequests
{
    NSLog(@"%@",self.queue.operations);
    [self.queue cancelAllOperations];
    [self.queue waitUntilAllOperationsAreFinished];
}
Run Code Online (Sandbox Code Playgroud)

取消所有请求.

除了将BOOL更改为YES之外,实际上什么都不做.

那么我应该如何取消异步连接呢?

leo*_*leo 5

无法取消使用的计划安排sendAsynchronousRequest.您引用的队列仅用于安排完成处理程序.

如果你想完全控制NSURLConnection,你必须NSURLConnectionDelegate自己实现.可以在https://gist.github.com/3794804上找到示例实现