AFNetworking 2:限制最大并发下载任务数

时间:2014-02-04 10:05:06

标签: ios iphone ios7 afnetworking-2

我正在处理一个实现使用AFNetworking 2.0创建的下载队列的应用程序,我想知道是否有办法限制同时运行的最大下载任务数(NSURLSessionDownloadTask) 。

我的最终目标是我的下载队列管理所有任务,一个完成,然后下一个将开始。

我知道,例如,NSOperationQueue具有maxConcurrentOperationCount属性,但我不知道AFNetworking 2.0是否在较低级别使用NSOperationQueue进行下载任务。另外,我知道AFURLSessionManager有一个NSArray包含所有正在运行的下载任务,但只是一个数组。

由于

1 个答案:

答案 0 :(得分:14)

AFNetworking有一个操作队列,您可以设置并发操作的数量

[[self.requestOperationManager operationQueue] setMaxConcurrentOperationCount:2];

这适用于下载和请求

注意:我使用的一个好技术是拥有2个网络管理器,一个用于公共请求,其中setMaxConcurrentOperationCount为1(我需要我的请求按顺序执行)和一个下载器,其setMaxConcurrentOperationCount为2