1

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

4

2 回答 2

3

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

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

2/ 你可以有一个单例对象,无论何时,你将 url 放入队列中,你通知它。

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

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

通过检查一个常数,您可以同时有许多异步请求。是的,您可以使用 ASIHTTPRequest 库调用异步请求。

我不知道是否有任何库可以为您完成这项工作,但我认为它很容易实现。

于 2010-08-28T14:16:24.643 回答
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

于 2010-08-29T08:06:17.967 回答