swift如何在多个ViewControllers中查看下载任务的进度



我有两个视图控制器VCList(带项目的集合视图(VCD详细信息,通过从VCList中选择项目,它会打开VCD详细内容,在VCD详细资料上,我有按钮下载,它会根据所选项目开始下载巨大的文件并显示其进度,通过取消VCD详细说明,我想在VCD细节上显示进度,再次输入VCD时,如果它仍在下载,我想显示下载的持续进度。请就如何实现这一目标提出建议?非常感谢

这听起来像是一个松散耦合的通知。我建议您的下载进程以适当的间隔(每隔几秒钟(向主线程广播Notification消息。然后让当前视图控制器订阅这些通知,并使用它们来更新下载进度指示器。

更好的是,创建一个可重复使用的下载进度指示器,该指示器获取下载ID并侦听进度更新。让下载管理器返回一个唯一的下载ID,并将其传递给需要显示进度的视图控制器。让视图控制器将下载ID安装到其可重用的下载指示器视图中。

最新更新