如何取消[NSURLConnection sendAsynchronousRequest:..]发送的请求

Sanjay Changani

我用以下代码发出请求:

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{
    // Here I want to cancel Request , Request Url contains searchBar Texts
    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
         NSXMLParser *p = [[NSXMLParser alloc] initWithData:reqData];
        [p setDelegate:self];
        [p parse];
    }];
}
多罗

您可以声明

@property (nonatomic, strong) NSOperationQueue *downloadQ;

然后,

    self.downloadQ = [NSOperationQueue new];
    self.downloadQ.name = @"download";

    [NSURLConnection sendAsynchronousRequest:request queue:self.downloadQ completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
        NSXMLParser *p = [[NSXMLParser alloc] initWithData:reqData];
        [p setDelegate:self];
        [p parse];
    }];

如果你需要停下来

NSOperation *lastOp = [self.downloadQ.operations lastObject];
    [lastOp cancel];

更新:

现在,最好使用NSURLSession,它对此具有适当的方法:

- (void)getTasksWithCompletionHandler:(void (^)(NSArray *dataTasks, NSArray *uploadTasks, NSArray *downloadTasks))completionHandler;

然后检查task.originalRequest.URL中是否有返回的任务,以查找要取消的任务。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

iOS NSURLConnection(sendAsynchronousRequest :)缓存过多

来自分类Dev

等待直到NSURLConnection sendAsynchronousRequest完成

来自分类Dev

如何使用NSURLConnection的sendAsynchronousRequest方法分段接收数据?

来自分类Dev

NSURLConnection sendAsynchronousRequest没有得到响应

来自分类Dev

Segue抛出NSInternalInconsistencyException,带有NSURLConnection sendAsynchronousRequest

来自分类Dev

NSURLConnection sendAsynchronousRequest没有得到响应

来自分类Dev

取消重复请求NSURLConnection

来自分类Dev

使用sendAsynchronousRequest:queue:completionHandler:进行URL请求

来自分类Dev

如何在XCTest上测试sendAsynchronousRequest:

来自分类Dev

带有sendAsynchronousRequest Objective-C的NSURLConnection进度栏

来自分类Dev

iOS7 NSURLConnection sendAsynchronousRequest因POST数据失败

来自分类Dev

NSURLConnection sendAsynchronousRequest完成块是否在主线程上执行?

来自分类Dev

发送新请求时,如何取消AJAX请求?

来自分类Dev

如何发送请求?

来自分类Dev

Python请求,如何发送不带“”的json请求

来自分类Dev

取消打包以使用提取发送请求

来自分类Dev

如何正确发送PATCH请求

来自分类Dev

如何通过SSL发送请求?

来自分类Dev

AngularJS如何发送其请求?

来自分类Dev

如何从HTML发送DELETE请求?

来自分类Dev

如何管理多个异步NSURLConnection请求

来自分类Dev

如何管理多个异步NSURLConnection请求

来自分类Dev

iOS的sendAsynchronousRequest问题

来自分类Dev

sendAsynchronousRequest使UI冻结

来自分类Dev

sendAsynchronousRequest使UI冻结

来自分类Dev

如何在IIS中发送“证书请求”

来自分类Dev

如何访问后请求中发送的数据?

来自分类Dev

如何通过AFNetworking发送HTTP POST请求?

来自分类Dev

如何使用WebServiceTemplate发送SOAP请求?

Related 相关文章

  1. 1

    iOS NSURLConnection(sendAsynchronousRequest :)缓存过多

  2. 2

    等待直到NSURLConnection sendAsynchronousRequest完成

  3. 3

    如何使用NSURLConnection的sendAsynchronousRequest方法分段接收数据?

  4. 4

    NSURLConnection sendAsynchronousRequest没有得到响应

  5. 5

    Segue抛出NSInternalInconsistencyException,带有NSURLConnection sendAsynchronousRequest

  6. 6

    NSURLConnection sendAsynchronousRequest没有得到响应

  7. 7

    取消重复请求NSURLConnection

  8. 8

    使用sendAsynchronousRequest:queue:completionHandler:进行URL请求

  9. 9

    如何在XCTest上测试sendAsynchronousRequest:

  10. 10

    带有sendAsynchronousRequest Objective-C的NSURLConnection进度栏

  11. 11

    iOS7 NSURLConnection sendAsynchronousRequest因POST数据失败

  12. 12

    NSURLConnection sendAsynchronousRequest完成块是否在主线程上执行?

  13. 13

    发送新请求时,如何取消AJAX请求?

  14. 14

    如何发送请求?

  15. 15

    Python请求,如何发送不带“”的json请求

  16. 16

    取消打包以使用提取发送请求

  17. 17

    如何正确发送PATCH请求

  18. 18

    如何通过SSL发送请求?

  19. 19

    AngularJS如何发送其请求?

  20. 20

    如何从HTML发送DELETE请求?

  21. 21

    如何管理多个异步NSURLConnection请求

  22. 22

    如何管理多个异步NSURLConnection请求

  23. 23

    iOS的sendAsynchronousRequest问题

  24. 24

    sendAsynchronousRequest使UI冻结

  25. 25

    sendAsynchronousRequest使UI冻结

  26. 26

    如何在IIS中发送“证书请求”

  27. 27

    如何访问后请求中发送的数据?

  28. 28

    如何通过AFNetworking发送HTTP POST请求?

  29. 29

    如何使用WebServiceTemplate发送SOAP请求?

热门标签

归档