【问题标题】:How to show progress of download in a custom UITableViewCell with ASIHTTPRequest?如何使用 ASIHTTPRequest 在自定义 UITableViewCell 中显示下载进度?
【发布时间】:2011-11-08 09:56:14
【问题描述】:

我正在尝试通过选择包含 UIProgressBar 的自定义 UITableViewCell 来实现可以下载的列表语言包。对于每个语言包,我想显示下载进度。我通过设置此委托 setDownloadProgressDelegate: 来完成此操作。

除了 UIProgressBar 移出可见区域外,一切都很好。这是有道理的,因为代表进度条已被删除。我可以做些什么来阻止应用程序崩溃,如果它返回到可见区域,我该如何显示进度条?

Hier 是一张图片,看看它现在的样子。

谢谢

【问题讨论】:

  • 我最近听到一个悲惨的消息,ASIHTTPRequest 的开发人员已经停止了它的工作,并建议转移到其他一些 HTTP 客户端包。仅供参考。详细信息请参见他网站上的博客。
  • 哦,很遗憾。您还有其他建议吗?

标签: objective-c ios uitableview asihttprequest


【解决方案1】:

我想您可以使用自己的类(甚至视图控制器)作为进度委托。在您的视图控制器中,您可以保存一组对当前正在使用的所有进度条的引用。您将为每次下载创建一个进度条并将其保存在数组中(因此该对象不会被破坏)。每当创建一个单元格时,您现在必须检查您的数组中是否有相应的进度条对象,而不是创建一个新的。每当下载完成并且不再需要进度条时,就将其从数组中删除。

注意可能的多线程问题,如有必要(例如,如果您的通知可能到达主线程之外的另一个线程),请使用performSelectorOnMainThread: 更新进度条数组和其中的进度条。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-13
    • 1970-01-01
    相关资源
    最近更新 更多