我打算使用ASIHTTP处理一些长文件下载/安装,我想给用户一个正在进行的下载列表,这也可以让我显示一个损坏的下载,这样用户就可以重新启动请求了。
所以我的计划是从AppDelegate发起请求,但如果用户转到下载项视图,我需要为正在进行的每个下载创建进度视图,并以某种方式将ASIHTTP连接挂钩到它们。我可以在下载请求完成后立即创建进度视图并将其保存在应用程序委托中的数组中,以便DownloadItemsViewController在创建tableview的单元格时可以使用这些进度视图吗?有没有更好的办法?我有一种感觉,我正在接近这个错误。
您如何跟踪AppDelegate中的下载?如果用户关闭应用程序怎么办?
答案 0 :(得分:0)
如果您没有向用户显示实例,那么UIProgressView
(我假设您的意思是“进度视图”)实例没有多大意义。
您最好在某种下载中跟踪每个请求的进度(通过request:didReceiveBytes:
进度委托方法) - >进度映射。例如,您可以保留NSDictionary
实例,其中下载NSURL
实例作为键,NSNumber
实例将其进度表示为[0.0,1.0]范围内的分数。
然后,只要您希望提醒用户下载进度,就可以构建UIProgressView
个对象,并使用NSDictionary
映射中存储的值填充它们。