我有 1 个包含 UITabBarController 的主 UIViewController。标签栏控制器有 4 个 UIViewControllers(每个都由 UINavigationControllers 管理)。简而言之,它看起来像这样:
主视图控制器 | |--- FirstUIViewController | |--- 第二个UIViewController | |--- 第三个UIViewController | |--- 第四UIViewController
FirstUIViewController 默认加载。
在 SecondUIViewController 中,有一个可以发生的事件。此事件具有与其一起传递的特定数据。当此事件发生时,我希望发生两件事:
1)FourthUIViewController 在标签栏控制器中被选中,以直观地显示已输入的不同标签。
2) FourthUIViewController 中的后续操作,其中选择了特定的 UITableViewCell。选定的单元格由事件中传递的数据确定。
为了做到这一点,我在 MainViewController 中创建了一个 NSNotification 观察者。它监听来自 SecondUIViewController 的事件并通过 userInfo 从中获取数据。
我也知道从 MainViewController 我可以轻松地在 UITabBarController 上设置 selectedIndex 以便显示正确的选项卡。(#1完成)。
然而,完成#2让我感到困惑。我不知道如何(正确地)设置标签栏的 selectedIndex,然后让 FourthUiViewController 作用于选定的单元格。我的假设是在此事件发生之前可能尚未加载 FourthUIViewController,因此我无法设置任何参数或调用任何观察者。
也许更广泛的问题是通过选项卡选择加载 UIViewController 时如何传递数据(与推送非常简单的新 UIViewController 相比)。
TIA。