在iOS故事板上的iOS 6中推送segue的麻烦

Trouble with push segue in iOS 6 on iPhone storyboard

我有一个计算器视图控制器和一个叫做图形的按钮。点击图表会导致我的CalculatergraphViewController出现一个推送信号,但是当我按下它时,它会崩溃。

我的"准备发送"设置在calculatorviewcontroller.m中,如下所示:

1
2
3
4
5
6
7
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if([segue.identifier isEqualToString:@"Show Graphs"])
    {
        // Do we need to set something else up in case it crashes
    }  
}

崩溃后,我在输出中得到了这个:

2013-07-01 18:32:13.170计算器[1150:c07]*由于未捕获异常"nsgenericException"而终止应用程序,原因:"找不到用于segue"show graphs"的导航控制器。只有当源控制器由uinavigationcontroller实例管理时,才能使用推送段。*第一次抛出调用堆栈:(0x1C95012 0X10D2E7E 0X46CF31 0X45EB99 0X45EC14 0X10E6705 0X1A2C0 0X1258 0XDB021 0XDB57F 0XDA6E8 0X49CEF 0X49F02 0X27D4A 0X1968 0X1BF0X1BF0AD0 0X10ABF5 01C0A962 0X1C3BB6 01C3AF44 0X1C3AE14 0X1BEF7E3 0X1BEF668 0X16FFC 0X2ABD 0X29E5 0X1)libc++abi.dylib:终止调用引发异常(LLDB)


您需要导航控制器才能使用Push Segue!

只能从由uinavigationcontroller管理的视图控制器执行"推"样式的segue。


据我所知,它在崩溃日志中为您列出了它——您需要将计算器viewcontroller嵌套在uinavigationcontroller中。

从Interface Builder的"元素"框中拖出一个(或按control-cmd-alt-3搜索,然后键入uinavigationcontroller)。通过从uinavigationController拖动控件并选择关系segue作为根视图控制器,将CalculatorViewController设置为连接到uinavigationController的uiviewController。