Receiver(<viewcontroller:>)没有带标识符的segue - 从场景中启动segue </viewcontroller:>

时间:2014-06-25 04:45:29

标签: iphone xcode uiviewcontroller sprite-kit segue

在查看了很多相关问题并尝试了所有事情之后,我发布了自己的问题,试图得到满意的答复。

我的应用程序从基础ViewController开始,然后使用故事板中创建的按钮的模态segue转换到GameScene ViewController,然后呈现游戏场景。当游戏结束时,我以编程方式创建按钮以从GameScene导航回基本ViewController。按下此按钮时,以下代码将尝试转回基本ViewController:

UIViewController *vc = self.view.window.rootViewController;
[vc performSegueWithIdentifier:@"BackToStartScreenSegue" sender:nil];

它正在调用的segue是通过控制 - 从GameSceneViewController拖动到基本ViewController并选择模态作为segue类型来创建的。这会创建一个奇怪的8字形图案,其中每个视图控件都有一个指向另一个的模态segue。我怀疑这不是最佳的。

我觉得我应该使用unwind segue,但我不确定。我试图在GameSceneViewController故事板上添加一个按钮,然后在游戏结束后启用它,但我无法控制是否通过我的场景启用它,但我可能没有做到这一点。

确切的错误消息如下: * 由于未捕获的异常终止应用程序&#39; NSInvalidArgumentException&#39;,原因:&#39; Receiver()没有带标识符的segue&# 39; BackToStartScreenSegue&#39;&#39;

我还检查并仔细检查了我在segue标识符上的拼写是否正确,以及从模拟器和测试设备中删除了应用程序,以及使用它再次清理和构建。

1 个答案:

答案 0 :(得分:1)

由于它是模态segue,你试图使用

[self dismissViewControllerAnimated:YES completion:nil];