1

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

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谁能帮我弄清楚如何从这个导航控制器的层次结构中获得特定的视图控制器。

4

1 回答 1

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;是返回导航控制器。

于 2013-10-01T13:44:49.377 回答