为什么不在viewDidLoad中执行SegueWithIdentifier工作?

zak*_*ces 12 xcode objective-c ios ios5

一旦在视图控制器上调用viewDidLoad,我就试图触发故事板segue.segue附加了一个标识符,当从链接到按钮或其他控件的方法内部调用时,它可以正常工作.但它在viewDidLoad中不起作用.它只是默默地失败了.在viewDidLoad中是否有一些关于segue被忽略的规则?

我试过这两个:

[self performSegueWithIdentifier: @"mySegue" 
                          sender: self];
Run Code Online (Sandbox Code Playgroud)

还有这个:

[self dismissViewControllerAnimated:YES completion:^() {
[self performSegueWithIdentifier:@"mySegue" sender:self];
}];
Run Code Online (Sandbox Code Playgroud)

都没有工作.

Mat*_*ias 21

您无法关闭尚未显示的视图控制器.didLoad具有纯粹的内存管理功能,您可以将其用作(部分)构造函数.什么可行,是开始一个segue viewDidAppear,但我建议从第一次你想要的视图开始.