我目前正在为 iOS 设置一个 Tab Bar 应用程序。
通常,我会在更改 viewController 时使用像prepareforSeque这样的重写方法进行依赖注入,但是当 UITabBarController 更改其活动子 ViewController 时不会调用该方法。如何正确地将依赖注入到 UITabBarController 子 ViewControllers 中?
在 RootViewController 中,viewDidLoad您可以遍历childViewControllers并找到您想要的各种子控制器,并为每个子控制器设置依赖项。在这种情况下,依赖项将在子视图控制器的 viewDidLoad 中可用。标签栏实例化子视图控制器实例,但在需要之前不会加载视图。
加载选项卡栏视图控制器后,您可以使用委托方法注入更新的依赖项并使用它,viewDidAppear因为viewDidLoad一旦在选项卡栏中选择它就不会被调用。