由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'Receiver()没有带标识符'MySegue'的segue''
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UIViewController *viewController;
switch (indexPath.row) {
case AUDIO:
[self performSegueWithIdentifier:@"MySegue" sender:self];
break;
case PDF:
viewController = [[[PDFExampleViewController alloc] init]autorelease];
break;
case PROCEDURAL:
viewController = [[[ProceduralExampleViewController alloc] init] autorelease];
break;
default:
viewController = [[[UIViewController alloc] init] autorelease];
}
[self.navigationController pushViewController:viewController animated:YES];
}
当我按下tableviewcell然后它应该显示MySegue viewController但它给出了由于未捕获的异常'NSInvalidArgumentException'而终止app的错误消息,原因:'Receiver()没有带有标识符'MySegue''的segue。
当storyboardsegue标识符存在时,为什么会出错。
感谢您的帮助。
答案 0 :(得分:3)
您可以尝试使用以下几项方法:
1)尝试重命名故事板并确保在项目设置和info.plist文件中设置主故事板(键是'主故事板文件基本名称')
2)尝试清洁产品(产品 - >清洁)
3)尝试从模拟器中删除应用程序并再次运行(如果在第二点之后完成,这可能会有效)
4)如果您的项目具有针对不同区域设置的本地化和多个故事板,请确保故事板相同
5)Segue标识符区分大小写。确保键入确切的标识符(通常我只是从Attributes Inspector复制它并将其粘贴到我的代码中,让我觉得更安全)
6)这看起来很明显 - 但要100%确定segue确实存在!我们有时会感到疲倦:))
希望这有帮助。