1

由于未捕获的异常'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”而终止应用程序,原因:“Receiver () 没有标识符为“MySegue”的 segue”。

为什么当 storyboardsegue 标识符存在时会出错。

感谢帮助。

4

1 回答 1

3

您可以尝试做几件事来完成这项工作:

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

2)尝试对产品进行清洁(产品->清洁)

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

4) 如果您的项目具有本地化和针对不同语言环境的多个故事板,请确保故事板相同

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

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

希望这可以帮助。

于 2013-06-23T21:02:51.990 回答