在UITableView的故事板中添加了一个名为bSegue的segue和bSegue Identifier类名是abcViewController。
在代码中将其写为
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UIViewController *viewController;
switch (indexPath.row) {
case PDF:
viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"bSegue"];
break;
default:
viewController = [[UIViewController alloc] init];
}
[self.navigationController pushViewController:viewController animated:YES];
}
但是当尝试运行应用时,它显示错误 NSInvalidArgumentException',原因:'Storyboard()不包含带有标识符'bSegue'的视图控制器
我仔细检查了它的segue标识符是否正确,然后它为什么会出现此错误。
任何想法。
由于
答案 0 :(得分:1)
您将视图控制器标识符与segue标识符混淆。
你的专栏[self.storyboard instantiateViewControllerWithIdentifier:@"bSegue"]
正在故事板中查找Storyboard ID
bSegue
的视图控制器。
您要做的是调用您使用performSegueWithIdentifier:sender:
所以它看起来像[self performSegueWithIdentifier:@"bSegue" sender:nil];