通过选项卡栏设置嵌入在导航控制器中的视图控制器的属性

时间:2014-12-08 21:04:12

标签: ios uinavigationcontroller uitabbarcontroller

我的应用程序在根目录中包含一个标签栏控制器,它有三个标签 - 每个标签都是嵌入在自己的导航控制器中的视图控制器。像这样:标签控制器 - >导航控制器 - >查看控制器。 我试图从第一个选项卡中设置第二个选项卡视图控制器的属性,就像这样(就像我准备segue时那样)

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController     

if (tabBarController.selectedIndex == 1) {
        ((CreateViewController *)viewController).myProperty = YES;
}

正在按预期调用该方法,但是一旦我尝试设置该属性,应用程序崩溃并收到错误:

-[UINavigationController setAppearedFromTabBar:]: unrecognized selector sent to instance 0x7fc913d5f510

我觉得这与视图控制器(CreateViewController *)嵌入在Nav控制器中的事实有关。我是否需要将信息传递给导航控制器,导航控制器又将其传递给视图控制器?任何帮助,将不胜感激!

1 个答案:

答案 0 :(得分:1)

显然,你引用了navigationController而不是CreateViwController。

((CreateViewController *)[(UINavigationController *)viewController topViewController]).myProperty = YES;