首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AFHTTPRequestOperation取消请求

AFHTTPRequestOperation取消请求
EN

Stack Overflow用户
提问于 2013-12-17 15:49:28
回答 2查看 6.2K关注 0票数 4

有办法取消AFHTTPRequestOperation吗?例如,我正在使用它下载一个PLIST。所以我计划有一个按钮来取消下载或任务。有办法吗?

更新:

代码语言:javascript
复制
operationQueue = [NSOperationQueue new];

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:myURL] cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:30.0];

AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
operation.responseSerializer = [AFPropertyListResponseSerializer serializer];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id propertyList) {

    NSLog(@"DONE");        

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

    NSLog(@"%@", error);

}
 ];

 [operationQueue addOperation:operation];

因此,我将“操作”放入"operationQueue“,并可以通过以下方式停止操作:

代码语言:javascript
复制
[operationQueue cancelAllOperations];

这只是队列中的一个操作。如果有多个操作,是否有方法显式地停止操作?我猜控制台中出现了以下错误--如果队列被取消,正常吗?

错误的Domain=NSURLErrorDomain代码=-999“操作无法完成。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-17 15:51:49

您可以使用:

代码语言:javascript
复制
[operation cancel];

这是一个由NSOperation实现的AFNetworking方法。

票数 12
EN

Stack Overflow用户

发布于 2013-12-17 15:52:35

您可以使用它来取消所有操作:

代码语言:javascript
复制
[[httpClient operationQueue] cancelAllOperations];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20638611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档