在iPhone中下载队列

时间:2010-08-28 14:04:06

标签: iphone download queue ios asihttprequest

在iPhone中实施下载队列的最佳方法是什么?可以使用ASIHTTPRequest库完成吗?

2 个答案:

答案 0 :(得分:3)

我认为实施一个并不困难。这是我的策略:

1 /你有一系列任务(简单来说,只是一个网址数组)来存储下载网址列表

2 /你可以拥有一个单例对象,每当你将url放入队列时,你就会通知它。

3 /当通知单件对象时,它会检查是否可以自由地完成这项工作。如果是,则将第一个url从队列中取出,向服务器调用异步请求。它将其状态设置为忙碌。

4 /当异步请求回调时,单例再次检查队列以查看它是否为空。如果不是,则获取下一个URL,再次执行步骤3。如果它为空,则单例对象将其状态设置为空闲,然后将下一个对象放入下载队列中的下一个对象可以通知单例对象。

您可以通过检查常数来获得许多异步请求。是的,您可以使用ASIHTTPRequest库调用异步请求。

我不知道是否有任何图书馆为你做这项工作,但我认为它很容易实现。

答案 1 :(得分:2)

ASIHTTPRequest包含可用作下载队列的ASINetworkQueue对象,请参阅:

http://allseeing-i.com/ASIHTTPRequest/How-to-use#about_ASINetworkQueues

然后您可以跟踪整个过程:

http://allseeing-i.com/ASIHTTPRequest/How-to-use#tracking_download_progress_for_a_set_of_requests