在iPhone中实施下载队列的最佳方法是什么?可以使用ASIHTTPRequest库完成吗?
答案 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