iOS:标签viewController中的调用方法

时间:2013-08-20 21:27:29

标签: iphone ios uitabbar viewcontroller

我试图想出一些简单的东西,但我无法弄明白。

我有一个UITabBarController,有一点我必须显示另一个标签的UIViewController,并使用原始UIViewController中的数据调用新的UIViewController中的方法。

所以基本上我想将数据传递给另一个UIViewController(可能尚未初始化),并显示正确的选项卡。

如果我使用NSNotificationCenter,我不确定该标签的UIViewController是否已初始化,而且在此处使用委托也有点难看。

在新标签页中发送和显示数据的简洁方法是什么?

3 个答案:

答案 0 :(得分:2)

更好的想法是在选项卡视图控制器中实现协议,视图控制器可以调用该协议来发送数据并设置任何其他视图控制器

答案 1 :(得分:1)

int x = 1; //this is the view controller you want to go to.
MySecondViewController *secondViewController = (MySecondViewController *)self.tabBarController.viewControllers[x];
[secondViewController setDataObject:dataObject];
[self.tabBarController setSelectedIndex:x];

所以正在发生的事情是你从tabBarController调用控制器,如果没有,它将启动它。然后,您可以在控制器上设置任何所需的内容,然后切换到所选选项卡。

答案 2 :(得分:1)

您应该有两种视图控制器都可以访问的某种数据模型(单例?)。当第二个视图控制器即将显示其视图时,它应引用数据模型以确定它应显示的数据。