'Receiver(<viewcontroller:>)没有带标识符'infoseg'</viewcontroller:>的segue

时间:2012-10-21 09:13:36

标签: iphone ios uistoryboardsegue

最近,当应用切换到下一个ViewController时,我的应用程序崩溃了。

这是prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

    ShowInfoViewController *secondViewController = (ShowInfoViewController *)segue.destinationViewController;

这就是我称之为方法的方法:

        [self performSegueWithIdentifier:@"infoseg" sender:self];

在界面构建器中我有一个具有相同标识符的segue。

任何想法?

这是日志的打印:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<ViewController: 0x1dda97d0>) has no segue with identifier 'infoseg''

***第一次抛出调用堆栈: (0x322982a3 0x31a6a97f 0x34fdbca9 0x1972f 0x1a7fb 0x57d73 0x56ff3 0x5a2f3 0x372c2ef5 0x372029f1 0x3720290d 0x355115df 0x35510ccb 0x35539133 0x321de74d 0x35539593 0x3549d15d 0x3226d683 0x3226cee9 0x3226bcb7 0x321deebd 0x321ded49 0x32f472eb 0x34e24301 0x17427 0x173c8)的libc ++ abi.dylib:终止称为抛出异常

3 个答案:

答案 0 :(得分:2)

如果您的目标viewcontroller位于navigationcontroller中,您可能需要查看此问题:How to set the delegate with a storyboard

编辑:从错误中看起来你正在尝试执行的segue没有附加到你开始的viewcontroller。尝试删除seque并将其从您的代码所在的viewcontroller拖到ShowInfoViewController内部界面构建器中。

答案 1 :(得分:1)

我有一个类似的问题 - 事实证明我在故事板上的segue标识符上有一个尾随空格。

例如。 &#39; SequeIdentifier&#39; - 当然这在XCode中很难看到

答案 2 :(得分:1)

有同样的问题。意识到我在AppDelegate.m和Storyboard中设置了根控制器。删除了AppDelegate.m中的代码并修复了它。