等待在 UITabBarController 中加载 child 个视图?

Wait to load child views in UITabBarController?

我有一个 TabBarController,在 Storyboard 中连接了 3 child 个视图。

我在 TabBarControllers 自定义 class 中做我的 API 业务。这是异步的。

child 视图都从 parent TabBarController 获取信息。

问题:

所有 child 仅获取虚拟数据,因为它们是在 API 调用完成之前加载的。

有没有办法 "delay" 加载 child?我可以在完成时调用异步任务吗?

您可以从一个空的标签栏控制器开始,然后在 API 调用完成时以编程方式添加子视图控制器。

然而,这引出了一个问题,为什么要显示标签栏控制器?相反,我建议您从一个空的 'loading' 屏幕开始,并在 API 调用完成后转到选项卡栏控制器。

我还建议,不要为 API 调用子类化 TabBarController,而是创建一个单独的管理器对象来执行更新过程,可能作为一个单例对象(取决于其他代码注意事项)。然后,您可以从视图控制器调用共享实例,或者将 API 调用管理器直接注入呈现/父视图控制器上 prepare(for segue: sender:) 中的每个实例。