Storyboard segue崩溃和UINavigationController最佳实践

时间:2013-11-15 05:14:13

标签: ios iphone objective-c

我正在使用基于故事板的设置,并且有一个UINavigationController跟踪一组UIViewControllers,因为它们...我有一个主要的UIViewController充当“主屏幕”,所有活动和任务从那里分支出来

就目前而言,在某些情况下,我会弹出到根视图控制器,而某些场景我实际上有一个segue指向那个根“主屏幕”视图控制器。

我一直看到当我回到家庭视图控制器上时会弹出一些崩溃,然后再次离开那里......错误是

Could not find a navigation controller for segue 'xxx'. Push segues can only be used when the source controller is managed by an instance of UINavigationController.

......这可能是因为我的故事板的周期特性而发生的吗?我可以将这些segues转回主视图控制器吗?这是否会创建主视图控制器的另一个实例?我应该总是直接转到root吗?

1 个答案:

答案 0 :(得分:1)

不,使用segue(除了展开)“返回”任何控制器都不行,因为是的,它确实会创建一个新实例。如果你想回去,你必须在基于导航控制器的app中使用unwind segue或popToRootViewController(或任何其他pop方法)。