如何加载UITabBarController中的所有视图?

我没有find有关这个问题的相关post和最新的答案。

我想在启动时加载所有的视图控制器。 目前它按预期启动,但是当我点击一个酒吧项目时(第一次),由于它尚未被加载,所以稍微延迟加载它。

我怎样才能做到这一点是斯威夫特?

谢谢。

要预载一个UIViewController的视图,只需访问它的view属性:

 let _ = myViewController.view 

要预加载UITabBarController上的所有视图控制器,您可以执行以下操作:

 if let viewControllers = tabBarController.viewControllers { for viewController in viewControllers { let _ = viewController.view } } 

或者更简洁些:

 tabBarController.viewControllers?.forEach { $0.view } 

罗伯特的上面的答案为我工作,但我有UINavigationControllers作为我的每个选项卡的初始视图控制器。 所以我不得不打电话

 viewControllers.forEach { $0.view } 

在我的UINavigationControllers,以便他们的根视图控制器也加载。 希望能帮助Sam。