如何从tabbarcontroller访问特定的viewcontroller?

时间:2013-10-01 13:42:05

标签: iphone ios ipad

我有一个应用程序,其中有一个tabbarcontroller添加到应用程序的窗口。在tabbarcontroller我有两个标签栏项目,每个项目都有导航控制器,其中相应的视图控制器连接。现在我需要访问一个实例特定视图控制器的变量,它位于标签栏控制器的导航控制器内部。我这样做但没有用:

NSArray *mycontrollers = self.tabBarController.viewControllers;
NSLog(@"%@",mycontrollers);
self.secondviewcontroller=(SecondViewController *)[mycontrollers objectAtIndex:1];
self.secondviewcontroller.var=self.var;

但它抛出了一些错误信息

-[UINavigationController setvar:]: unrecognized selector sent to instance任何人都可以帮我弄清楚如何从这个导航控制器的hirarchy中获取特定的视图控制器。

1 个答案:

答案 0 :(得分:1)

尝试:

NSArray *mycontrollers = self.tabBarController.viewControllers;
NSLog(@"%@",mycontrollers);
UINavigationController *nvc = [mycontrollers objectAtIndex:1];
self.secondviewcontroller=(SecondViewController *)[nvc topViewController];
self.secondviewcontroller.var=self.var;

您的应用崩溃的原因,因为self.tabBarController.viewControllers;正在返回导航控制器。