gpt4 book ai didi

ios - 如何在后台取消所有 afhttpsessionmanager 请求?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:26:33 27 4
gpt4 key购买 nike

我有一个应用程序,我在其中使用 session 管理器调用同步请求,在

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

我正在使用全局

@property(strong,nonatomic)AFHTTPSessionManager *manager;

并在 viewdidload 中分配

manager = [[AFHTTPSessionManager alloc] init];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html", nil];
AFJSONResponseSerializer *responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingAllowFragments];

[manager setResponseSerializer:responseSerializer];

并且一组请求是在一个循环中发生的。我可以选择取消我正在做的所有请求

for (manager in self.arrayOfTasks) {

[manager invalidateSessionCancelingTasks:YES];
}




manager=nil;

,但问题是在取消之后这个请求也一次又一次地发生。它不是取消。任何人都可以指导我找到我要去哪里错了吗?

最佳答案

您可以尝试使用下面的代码来取消为 AFHTTPSession Manager 启动的所有任务:

 for (NSURLSessionTask *task in manager.tasks)
{
[task cancel];
}

也适用于个人上传和下载任务取消:

下载任务取消:

 for (NSURLSessionTask *task in manager.downloadTasks)
{
[task cancel];
}

上传任务取消:

 for (NSURLSessionTask *task in manager.uploadTasks)
{
[task cancel];
}

关于ios - 如何在后台取消所有 afhttpsessionmanager 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43183223/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com