Ios 如何在后台取消所有AFHttpSessionManager请求?
我在一个应用程序中使用会话管理器调用同步请求Ios 如何在后台取消所有AFHttpSessionManager请求?,ios,ipad,nsurlsession,afnetworking-3,afhttpsessionmanager,Ios,Ipad,Nsurlsession,Afnetworking 3,Afhttpsessionmanager,我在一个应用程序中使用会话管理器调用同步请求 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 我正在使用一个全球 @property(strong,nonatomic)AFHTTPSessionManager *manager; 并在viewdidload中进行分配 manager = [[AFHTTPSessionManager alloc] init]; manage
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];
}
上传任务取消:
for (NSURLSessionTask *task in manager.downloadTasks)
{
[task cancel];
}
for (NSURLSessionTask *task in manager.uploadTasks)
{
[task cancel];
}
看到这个了吗