关于ios:调用seque会导致崩溃

Calling a seque causes crash

很多人都有类似的问题,我读过他们的解决方案,但我仍然不能让我的工作。

我连接了这两个视图。我不能显示连接,因为我没有发布图片的声誉。我称之为续集识别游戏。

然后我把续集叫做:

1
2
3
4
if(self.lives == 0)
{
    [self performSegueWithIdentifier: @"GameOver" sender:self];
}

此时应用程序崩溃。我做错了什么?

"libc++abi.dylib:以nsException类型的未捕获异常终止"


查看错误日志,我认为您的应用程序中没有导航控制器。你的世故是推动。要推送新的视图控制器,在执行推送segue操作之前必须先安装uinavigationcontroller。

要解决此问题,请在情节提要中选择视图控制器->单击编辑器->嵌入->导航控制器。这将为您的应用程序添加导航控制器。现在,您可以成功执行推送和弹出操作。


您需要将视图控制器嵌入到UINavigationController中,因为没有导航控制器不能使用push segues。有关说明,请参见下面的屏幕截图:

Embed in navigation controller


阿卡什回答了我的问题。需要将续集样式切换为"modal"。根据duci9y,push"样式需要嵌入导航控制器或标签栏控制器。

在这里,我找到了模态和推送segue之间差异的答案。

在故事板中,莫代尔和普什塞格有什么区别?

莫代尔从当前视图显示新视图。

Push在两个视图之间放置一个控制器。

感谢大家的投入。我尽量让答案简单些,这样人们就能很快得到答案。