【问题标题】:iPhone - ASIHTTP and showing progress for long downloadsiPhone - ASIHTTP 并显示长时间下载的进度
【发布时间】:2023-03-24 14:20:02
【问题描述】:

我计划使用 ASIHTTP 来处理一些长文件下载/安装,我想给用户一个正在进行的下载列表,这也可以让我显示一个损坏的下载,以便用户可以重新发起请求。 .

所以我的计划是从 AppDelegate 发起请求,但如果用户转到下载项目视图,我需要为每个正在进行的下载创建进度视图,并以某种方式连接到它们的 ASIHTTP 连接。我可以在发出下载请求后立即创建进度视图并将它们保存在应用程序委托中的数组中,以便 DownloadItemsViewController 在为表格视图创建单元格时可以使用这些进度视图吗?有没有更好的办法?我有一种感觉,我正在接近这个错误。

您将如何跟踪 AppDelegate 中的下载?如果用户关闭应用程序怎么办?

【问题讨论】:

    标签: iphone download


    【解决方案1】:

    如果您不向用户显示 UIProgressView(我假设这就是您所说的“进度视图”)实例,那么它们并没有多大意义。

    您最好在某种下载-> 进度映射中跟踪每个请求的进度(通过request:didReceiveBytes: 进度委托方法)。例如,您可以保留一个 NSDictionary 实例,其中下载的 NSURL 实例作为键,NSNumber 实例将它们的进度表示为 [0.0, 1.0] 范围内的分数。

    然后,当您希望提醒用户他们的下载进度时,您可以构造UIProgressView 对象并使用存储在您的NSDictionary 映射中的值填充它们。

    【讨论】:

    • 谢谢,我知道我很愚蠢。我在 AppDelegate 中保留了一系列字典,下载进度视图是一个委托,它接收每个项目下载进度的 [0.0,1.0] 范围更新。
    猜你喜欢
    • 2011-05-30
    • 1970-01-01
    • 1970-01-01
    • 2018-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多