等待文件加载和网络请求完成
Posted
技术标签:
【中文标题】等待文件加载和网络请求完成【英文标题】:Waiting for a file to load and a network request to finish 【发布时间】:2015-09-08 09:09:09 【问题描述】:我有一个带有两个 ViewController 的 UITabBarController,每个都显示数据。在 UITabBarController 中,我从包中加载一个 20MB 的 JSON 文件并发出网络请求。这些都需要完成才能在每个 ViewController 的 TableView 中正确显示数据。
我这样做的方式(在 UITabBarController 内)是将两个任务放在 dispatch_group_async
块中,并在两个任务完成后使用 dispatch_group_notify
块继续。我需要一种方法来告诉 ViewControllers 中的 TableViews 数据已准备好并且它们应该重新加载其内容 (tableView.reloadData()
)。我正在考虑为此使用 NSNotification 中心,但我不确定这是否是正确的方法。
实际上,我想对整个方法提供一些反馈。我在 UITabBarController 中执行这些任务是否明智(因为我需要两个 ViewController 中的数据),因此必须处理“跨类”问题?如果您有任何其他建议,请告诉我。
【问题讨论】:
【参考方案1】:我认为NSNotification
是一个很好的方法。它非常干净和简单。
但对我来说,加载数据的最佳位置是AppDelegate
,即使它没有太大变化。
【讨论】:
以上是关于等待文件加载和网络请求完成的主要内容,如果未能解决你的问题,请参考以下文章
使用 Swift 和 Combine 链接 + 压缩多个网络请求