我有一个应用程序,其中有一个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中获取特定的视图控制器。
答案 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;
正在返回导航控制器。