当标识符存在时,'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