下载进度未显示在所有视图中 ios

Posted

技术标签:

【中文标题】下载进度未显示在所有视图中 ios【英文标题】:Download Progress not displaying in all views ios 【发布时间】:2015-12-31 07:29:03 【问题描述】:

在我的项目中,用户可以下载电影(近 1GB)。

如果点击下载按钮,他将被重定向到下载 ViewController,如果点击开始下载,下载将开始并在此处显示进度条。到这里为止对我来说没有任何问题

问题 - 但是当他点击后退按钮时(我已经为后退操作编写了 Dismiss ViewController)下载过程正常进行,但我无法在任何其他视图中显示下载进度。

如何从任何视图显示下载进度。 注意:- 我没有对所有选项卡使用导航控制器,我只使用了一些选项卡。

请帮我解决这个问题...

谢谢

【问题讨论】:

请具体说明您希望在哪个屏幕上显示进度条..可能会将下载进度条放在主屏幕上 只是这样,通过点击主视图控件中的“下载状态”按钮,他再次重定向到下载视图,在那里他找到了下载进度 【参考方案1】:

如果您在关闭 VC 时在 VC 中分配下载逻辑,则所有下载逻辑也会被释放。

您需要创建一些基于订阅的观察下载器单例。

您可以在viewWillAppear 订阅每个视图的进度(并在viewWillDisappear 取消订阅)。然后使用 KVO 或 NSNotification,例如,您可以跟踪进度。

【讨论】:

感谢您的回复,我是 ios 新手,我不知道如何创建 KVO 或 NSSotification,请您详细解释一下或示例代码...

以上是关于下载进度未显示在所有视图中 ios的主要内容,如果未能解决你的问题,请参考以下文章

获取所有视图控制器中的 NSURLSession 下载进度

在集合视图单元格 Swift 中管理多个进度视图

UIProgressView 指示器未使用正确的“进度”更新

更改视图控制器后如何更新 UIProgressView 以显示 NSUrlSession 下载进度

从第二个警报视图按“确定”时,进度 hud 未显示

iOS - 如何在 Swift 的不同视图控制器中使用小视图