等待文件加载和网络请求完成

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,即使它没有太大变化。

【讨论】:

以上是关于等待文件加载和网络请求完成的主要内容,如果未能解决你的问题,请参考以下文章

Java 网络编程之NIO

使用 Swift 和 Combine 链接 + 压缩多个网络请求

Swift 4:创建一个异步串行队列,每个作业后等待2秒钟

加载 webView 并发做网络请求

等待实际结果加载到请求和美丽的汤中 - Python [重复]

简单AJAX请求JSon数据