Xcode 不在只有2个视图控制器的视图层次中?

Xcode 不在只有2个视图控制器的视图层次中?,xcode,uistoryboardsegue,Xcode,Uistoryboardsegue,我有两个视图控制器通过segues相互连接。当有人按下按钮时,他们会切换到viewcontroller2。在该viewdidload中,我随后通过使用以下代码启动segue“backs”,将它们重新启动到原始视图控制器: [self performSegueWithIdentifier: @"backs" sender: self]; 然而,它一直拒绝这个简单的转换,说我的视图控制器超出了层次结构?只有两个视图控制器,所以我想知道这是怎么可能的 viewDidLoad太快。视图已加载,但尚未

我有两个视图控制器通过segues相互连接。当有人按下按钮时,他们会切换到viewcontroller2。在该viewdidload中,我随后通过使用以下代码启动segue“backs”,将它们重新启动到原始视图控制器:

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

然而,它一直拒绝这个简单的转换,说我的视图控制器超出了层次结构?只有两个视图控制器,所以我想知道这是怎么可能的

viewDidLoad
太快。视图已加载,但尚未放置在视图层次结构中。您要等到
viewdid出现
。这是视图控制器的视图实际上是完整视图层次结构的一部分的第一个时刻。(即使这样,您也可能不得不使用延迟性能;我不确定。)


关于您所说的另一个问题是,如果您按顺序从视图控制器A转到视图控制器B,则无法按正常顺序返回。您必须使用新的“展开”序列功能,或者手动返回(例如,关闭显示的控制器,弹出推送的控制器)。

您可能会发现我的书有助于理解视图控制器的工作原理(以及它们是什么):哇,展开功能非常愚蠢。有没有其他的方法来实现它?我认为放松是明智的。但是如果你不喜欢它(或者不理解它),就像我说的,就像我们在iOS 6之前做的那样——手动返回,基本上就像segues和故事板不存在一样。