NSInvalidArgumentException',原因:'Receiver(<viewcontroller:>)没有标识符'MySegue </viewcontroller:>的segue

时间:2013-06-23 20:54:53

标签: iphone ios6 storyboard segue

由于未捕获的异常'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标识符存在时,为什么会出错。

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

您可以尝试使用以下几项方法:

1)尝试重命名故事板并确保在项目设置和info.plist文件中设置主故事板(键是'主故事板文件基本名称')

2)尝试清洁产品(产品 - &gt;清洁)

3)尝试从模拟器中删除应用程序并再次运行(如果在第二点之后完成,这可能会有效)

4)如果您的项目具有针对不同区域设置的本地化和多个故事板,请确保故事板相同

5)Segue标识符区分大小写。确保键入确切的标识符(通常我只是从Attributes Inspector复制它并将其粘贴到我的代码中,让我觉得更安全)

6)这看起来很明显 - 但要100%确定segue确实存在!我们有时会感到疲倦:))

希望这有帮助。