iOS应用程序在push segue上崩溃,但仅在安装时崩溃

时间:2014-05-13 18:23:25

标签: ios uinavigationcontroller segue uistoryboardsegue

首次安装我的应用时,我会尝试执行推送。我嵌入了UINavigationController。

但是当我尝试按下按钮转到我的第二个viewController时,应用程序崩溃了,我收到了这个错误:

"由于未捕获的异常终止应用程序' NSGenericException',原因:' Push segues只能在源控制器由UINavigationController实例管理时使用。' "

但它只在安装时的第一次尝试中发生。如果我什么都没改变并再次运行应用程序,segue会成功地将我发送到第二个视图控制器。

关于发生了什么的任何想法?让我知道我需要提供哪些更多信息。

修改

我在开始时有UIPageViewControllers作为app介绍屏幕。

在AppDelegate.m中我有

if(![[NSUserDefaults standardUserDefaults] boolForKey:@"hasSeenTutorial"]) {
UIPageControl *pageControl = [UIPageControl appearance];
pageControl.pageIndicatorTintColor = [UIColor lightGrayColor];
pageControl.currentPageIndicatorTintColor = [UIColor blackColor];
pageControl.backgroundColor = [UIColor whiteColor];

UIStoryboard *storyBoard;
storyBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *walkthrough =
[storyBoard instantiateViewControllerWithIdentifier:@"IntroViewController"];
[self.window setRootViewController:walkthrough];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"hasSeenTutorial"];
}
return YES;

我在UIPageView上有一个按钮,用户将用户发送到启动开始的ViewController

- (IBAction)ready:(id)sender {


UIStoryboard *storyBoard;
storyBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *viewController =
[storyBoard instantiateViewControllerWithIdentifier:@"ViewController"];
[self presentViewController:viewController animated:YES completion:nil];


}

1 个答案:

答案 0 :(得分:0)

好吧,如果有人碰到这个问题,在介绍屏幕之后,我将用户发送到NavigationViewController而不是像ViewController那样

- (IBAction)ready:(id)sender {


UIStoryboard *storyBoard;
storyBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *viewController =
[storyBoard instantiateViewControllerWithIdentifier:@"NavigationViewController"];
[self presentViewController:viewController animated:YES completion:nil];


}

这让细分起作用了。感谢Martin H促使探索。