在这个问题被那些认为他们知道一切的用户投票决定之前,请先阅读整个问题,然后再说这是重复的。 不是。
我的应用程序有一个UITabBarController,其视图本身 嵌入在UINavigationController中。因此,现在应用程序运行时的执行顺序是:
UITabBarController -> NavigationController -> HomeViewController
由于我的HomeViewController
有条件检查用户是否已登录,如果不是:
[self performSegueWithIdentifier:@"showLogin" sender:self];
当用户未登录时,应用程序崩溃并显示以下内容:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Pushing a navigation controller is not supported'
但是,如果我使用SignUpViewController
并将其嵌入NavigationController
,则此功能完全正常,但我不应该这样做,因为我的HomeViewController
已嵌入一个NavigationController
为什么会发生这种情况的任何想法?
修改
如果我有2 UINavigationControllers
没有意义,应用程序现在只运行平稳。随附的是我的故事板: