我无法在viewControllers
之间执行转换,因为navigationController
nil
。我已经在class
的不同部分登录了navigationController
,但它到处都返回 nil。storyboard
viewController
嵌入在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( 使用标识符创建push
segue 体验从包含的视图控制器到详细视图控制器的详细信息
3( 在视图中控制器从self
执行如下 segue
[self performSegueWithIdentifier:@"experienceDetails" sender:self];