hac*_*ker 3 ipad ios nsurlsession afhttpsessionmanager afnetworking-3
我有一个应用程序,我在其中使用会话管理器调用同步请求,在
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
Run Code Online (Sandbox Code Playgroud)
我正在使用全局
@property(strong,nonatomic)AFHTTPSessionManager *manager;
Run Code Online (Sandbox Code Playgroud)
并在 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];
Run Code Online (Sandbox Code Playgroud)
并且一组请求在一个循环中发生。我可以选择取消我正在做的所有请求
for (manager in self.arrayOfTasks) {
[manager invalidateSessionCancelingTasks:YES];
}
manager=nil;
Run Code Online (Sandbox Code Playgroud)
,但问题是在取消之后,这个请求也一次又一次地发生。它不是取消。有人可以指导我找到我出错的地方吗?
您可以尝试使用以下代码来取消为 AFHTTPSession Manager 启动的所有任务:
for (NSURLSessionTask *task in manager.tasks)
{
[task cancel];
}
Run Code Online (Sandbox Code Playgroud)
也用于个人上传和下载任务取消:
下载任务取消:
for (NSURLSessionTask *task in manager.downloadTasks)
{
[task cancel];
}
Run Code Online (Sandbox Code Playgroud)
上传任务取消:
for (NSURLSessionTask *task in manager.uploadTasks)
{
[task cancel];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1621 次 |
| 最近记录: |