当标识符存在时,'Receiver没有标识符'

对于iOS应用程序,我有一个故事板和多个控制器,以及从控制器GameClass到控制器SettingsClass的一个segue。 在视图控制器GameClass中有一个名为GameToSettings的标识符:

在这里输入图像说明

但是,当我想从我的GameClass中调用segue时:

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

我收到错误消息

 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<GameClass: 0xcf0c550>) has no segue with identifier 'GameToSettings'' 

我尝试了很多我在其他文章中发现的技巧(比如重命名故事板,清理项目,改变模拟器格式,给segue另外一个名字),但问题不断出现。

我已经在这里上传了我的代码版本: http : //www.petits-suisses.ch/Issue.zip 。 任何我可以继续尝试的build议?
谢谢。

你不应该这样实例化你的视图控制器:

 GameClass *myNewVC = [[GameClass alloc] init]; 

相反,使用

  [[UIStoryboard storyboardWithName:@"storyboard name" bundle:nil] instantiateViewControllerWithIdentifier:@"vc identifier">] 

编辑:看看https://github.com/mac-cain13/R.swift

它将允许您使用自动完成types安全方法轻松实例化它: R.storyboard.main.myViewController