【发布时间】:2014-06-25 04:45:29
【问题描述】:
在查看了很多相关问题并尝试了几乎所有内容之后,我发布了自己的问题,以期获得满意的答复。
我的应用程序从基础 ViewController 开始,然后使用在故事板中创建的按钮的模态转场转换到 GameScene ViewController,然后呈现游戏场景。游戏结束后,我以编程方式创建按钮以从 GameScene 导航回基本 ViewController。当这个按钮被按下时,下面的代码会尝试回到基础 ViewController:
UIViewController *vc = self.view.window.rootViewController;
[vc performSegueWithIdentifier:@"BackToStartScreenSegue" sender:nil];
它调用的 segue 是通过从 GameSceneViewController 拖动到基础 ViewController 并选择 modal 作为 segue 类型来创建的。这会创建一个奇怪的 8 字形模式,其中每个视图控制器都有一个模态 segue 指向另一个。我怀疑这不是最优的。
我觉得我应该使用 unwind segue,但我不确定。我试图向 GameSceneViewController 故事板添加一个按钮,然后在游戏结束后启用它,但我无法控制它是否通过我的场景启用,但我可能做得不对。
确切的错误信息如下:* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver () has no segue with identifier 'BackToStartScreenSegue''
我还检查并再次检查了我在 segue 标识符上的拼写是否正确,并从模拟器和测试设备中删除了该应用程序,并用它重新清理和构建。
【问题讨论】:
标签: iphone xcode uiviewcontroller sprite-kit segue