我正在处理一个实现使用AFNetworking 2.0创建的下载队列的应用程序,我想知道是否有办法限制同时运行的最大下载任务数(NSURLSessionDownloadTask
) 。
我的最终目标是我的下载队列管理所有任务,一个完成,然后下一个将开始。
我知道,例如,NSOperationQueue
具有maxConcurrentOperationCount
属性,但我不知道AFNetworking 2.0是否在较低级别使用NSOperationQueue进行下载任务。另外,我知道AFURLSessionManager
有一个NSArray
包含所有正在运行的下载任务,但只是一个数组。
由于
答案 0 :(得分:14)
AFNetworking有一个操作队列,您可以设置并发操作的数量
[[self.requestOperationManager operationQueue] setMaxConcurrentOperationCount:2];
这适用于下载和请求
注意:我使用的一个好技术是拥有2个网络管理器,一个用于公共请求,其中setMaxConcurrentOperationCount为1(我需要我的请求按顺序执行)和一个下载器,其setMaxConcurrentOperationCount为2