簡體   English   中英

異步NSURLConnection和NSOperation - 取消

[英]Asynchronous NSURLConnection and NSOperation - cancelling

我想取消所有請求。 以下是我創建異步連接的方法:

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

然后我使用這個方法:

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

取消所有請求。

除了將BOOL更改為YES之外,實際上什么都不做。

那么我應該如何取消異步連接呢?

無法取消使用sendAsynchronousRequest計划的連接。 您引用的隊列僅用於安排完成處理程序。

如果要完全控制NSURLConnection ,則必須自己實現NSURLConnectionDelegate 可以在https://gist.github.com/3794804上找到示例實現

您可以做的是將同步請求放入操作(使用塊)。

將NSOperationQueue maxNumberOfConcurrentOperations設置為1(因此它們一次運行一個)。

然后,如果您在隊列上運行cancelAllOperations,它將停止任何尚未運行的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM