无法推送视图控制器,因为导航控制器为零



我无法在viewControllers之间执行转换,因为navigationControllernil。我已经在class的不同部分登录了navigationController,但它到处都返回 nil。storyboardviewController嵌入在navigationController中。我已经检查了SO上具有相同问题的其他线程,但是没有一个答案对我有帮助,甚至没有真正意义。

无法推送,因为自我导航控制器为零

导航控制器为零,当按下视图控制器时

为什么是零?我该如何解决这个问题?还会返回一条错误消息:

我已经尝试了使用segue

[self.navigationController performSegueWithIdentifier:@"experienceDetails" sender:self];

以及推送:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Inspiration" bundle:nil];
ExperienceViewController *viewController = [storyboard instantiateViewControllerWithIdentifier:@"experience"];            
[self.navigationController pushViewController:viewController animated:NO];          

使用push没有任何反应,但会产生错误消息:

不允许在解除分配视图控制器时尝试加载视图,这可能会导致未定义的行为

我也在寻找该错误的解决方案,但似乎没有明确而具体的答案来解决它。同样,我阅读并尝试的那些建议不起作用。

我在这里真的很茫然。这么简单的事情要做,但我被一些我什至不明白的东西所阻碍。

编辑如果有帮助,我有一个tab bar,在一个item中,我有嵌入在navigationController中的viewController,我想从那里push到同一storyboard内的另一个viewController

编辑我让这个工作:

[self showViewController:viewController sender:self];

很可能是因为它不使用navigationController.它显示为modular,并且不是导航堆栈的一部分,这不是我想要的。很高兴知道,如果不是零,事情就会navigationController工作。

我重现了从导航控制器创建 segueexperienceDetails时所描述的行为......这是解决方案

1( 删除了 segue体验详细信息表单导航控制器

2( 使用标识符创建pushsegue 体验从包含的视图控制器到详细视图控制器的详细信息

3( 在视图中控制器从self执行如下 segue

[self performSegueWithIdentifier:@"experienceDetails" sender:self];

相关内容

最新更新