ios - swift 如何在几个ViewControllers中查看downloadTask的进度
问题描述
我有两个viewControllers VCList(CollectionView with items)VCDetails,通过从VCList中选择项目它打开VCDetails,在VCDetails上我有按钮下载,根据所选项目开始下载大文件并显示其进度,通过关闭VCDetails我想在VCDetails上显示进度,如果它仍在下载,则再次输入该 VCDetails 时,我想显示下载的持续进度。请就如何实现这一目标提出任何建议?非常感谢
解决方案
这听起来像是一个松散耦合的通知。我建议让您的下载过程Notification
以适当的间隔(每隔几秒)将消息广播到主线程。然后让当前视图控制器订阅这些通知并使用它们来更新下载进度指示器。
更好的是,创建一个可重复使用的下载进度指示器,该指示器采用下载 ID 并侦听进度更新。让您的下载管理器返回一个唯一的下载 ID,并将其传递给需要显示进度的视图控制器。让视图控制器将下载 ID 安装到其可重复使用的下载指示器视图中。
推荐阅读
- python - 带有切换状态的绘图
- javascript - 在表格中显示 xml 数据
- yii2 - Yii2按钮有两个功能
- android - 应用程序无法在三星 dex 中运行
- python - Python:如何从特定标题下同一页面的多个链接中提取表格
- angular - 在本地但不在部署上工作的 API 上的 JSONP 调用方法
- python - AWS Lambda 记录到一个 JSON 行
- powershell - Powershell MessageBox 将不需要的数据添加到我的变量中
- sql - 查询 NULL 数、MinValue、MaxValue 和 AvgValue 没有返回结果(不正确)
- mysql - 使用 mysql 的 GROUP BY 自定义奇数列的输出