FourthUIViewController

FourthUIViewController

我有1个主UIViewController,其中包含一个UITabBarController。标签栏控制器具有4个UIViewControllers(每个UIViewControllers由UINavigationControllers管理)。简而言之,它看起来像这样:

MainViewController
   |
   | --- FirstUIViewController
   |
   | --- SecondUIViewController
   |
   | --- ThirdUIViewController
   |
   | --- FourthUIViewController


默认情况下,FirstUIViewController已加载。

在SecondUIViewController中,可能发生一个事件。此事件具有与之一起传递的特定数据。当此事件发生时,我希望发生两件事:

1)要在选项卡栏控制器中选择以可视方式显示另一个选项卡的FourthUIViewController,已输入。

2)在ThirdUIViewController中的后续操作,其中选择了特定的UITableViewCell。所选单元格由事件中传递的数据确定。

为了做到这一点,我在MainViewController中创建了一个NSNotification观察器。它从SecondUIViewController监听事件,并通过userInfo从事件获取数据。

我也知道从MainViewController可以轻松地在UITabBarController上设置selectedIndex,以便显示正确的选项卡。 (排名第一)。

但是,完成#2让我感到困惑。我不知道如何(正确地,正确地)设置选项卡栏的selectedIndex,然后让FourthUiViewController对选定的单元格起作用。我的假设是在此事件发生之前可能尚未加载FourthUIViewController,因此我无法设置任何参数或调用任何观察者。

也许更广泛的问题是,通过选项卡选择加载UIViewController时如何传递数据(与推送一个非常简单的新UIViewController相比)。

TIA。

最佳答案

除非您对NIB文件做得很奇怪,否则视图控制器将始终在启动时加载。

可能未加载控制器的视图,但是您可以在操作该视图的表之前调用[fourthController view](或者,如果合适,使用[self view])来强制执行该操作。

10-08 06:06