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