Ios 目标视图控制器加载后Segue启动

Ios 目标视图控制器加载后Segue启动,ios,ios8,segue,Ios,Ios8,Segue,在我的应用程序中,我有一个segue,它在初始视图控制器的ViewDidLoad中触发。如果数据库设置为true,则segue将推送到另一个视图控制器。如果数据库为false/nil,则不会发生segue 初始VC 我遇到的问题是,在iOS 8+上,segue在目标VC加载后推送。这会导致初始VC在触发segue之前出现一小段时间,最长可达一秒钟。当在目标VC中放置断点时,初始VC将显示在设备上,直到目标VC的viewDidLoad编译完成。在8之前的版本中,segue在加载目标VC之前被推送。

在我的应用程序中,我有一个segue,它在初始视图控制器的ViewDidLoad中触发。如果数据库设置为true,则segue将推送到另一个视图控制器。如果数据库为false/nil,则不会发生segue

初始VC


我遇到的问题是,在iOS 8+上,segue在目标VC加载后推送。这会导致初始VC在触发segue之前出现一小段时间,最长可达一秒钟。当在目标VC中放置断点时,初始VC将显示在设备上,直到目标VC的viewDidLoad编译完成。在8之前的版本中,segue在加载目标VC之前被推送。在目标VC中设置断点后,启动屏幕将出现,直到viewDidLoad编译。这是我的应用程序的预期操作。您知道为什么会发生这种情况以及相应的修复方法吗?

能否将此代码移到应用程序委托中?您必须右舷,并假设您位于UINavigationController内,以编程方式更新InitialViewController。是的,视图控制器嵌入在导航控制器中。在AppDelegate中放置segue也有同样的问题。您将无法执行segue,但在ApplicationIDFinishLoading中:您能否从情节提要中同时获得对导航控制器和“HasCreds”视图控制器的引用?然后通过这些,您应该能够设置navController.initialViewController。这意味着您将无法弹出回原始视图控制器。
- (void)viewDidLoad 

 if([database setting:SegueSetting])
 {
   [self performSegueWithIdentifier:@"HasCreds" sender:self];
 }