我有一个TabBarController,在Storyboard中连接了3个子视图。
我在TabBarControllers自定义类中执行我的API业务。这是异步。
子视图都是从父TabBarController获取信息。
问题:
所有子节点只获取伪数据,因为它们是在API调用完成之前加载的。
有没有办法延迟"装孩子?我可以在完成异步任务时调用的东西吗?
答案 0 :(得分:1)
您可以从空的标签栏控制器开始,并在API调用完成时以编程方式添加子视图控制器。
然而,这引出了一个问题,为什么要显示标签栏控制器呢?相反,我建议您从空的“加载”屏幕开始,并在API调用完成时切换到标签栏控制器。
我还建议,不要将TabBarController
子类化为API调用,而是创建一个单独的管理器对象来执行更新过程,可能作为单个对象(取决于其他代码注意事项)。然后,您可以从视图控制器调用共享实例,或者将API调用管理器直接注入到呈现/父视图控制器上prepare(for segue: sender:)
中的每个实例中。