我有一个uitableview,我想按下它来打开一个新的viewController。
我正在使用这个在其他类中工作的代码,但在这个代码中没有。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"Row selected:%d",indexPath.row);
UIStoryboard * storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
[[self navigationController] pushViewController:[storyBoard instantiateViewControllerWithIdentifier:@"SingleCamera"] animated:YES];
}
我不知道为什么因为这是我到目前为止使用的代码。它没有播放我放的任何标识符,它只是不会去任何地方。
我也试过这个:
[self performSegueWithIdentifier:@"SingleCamera" sender:tableView];
但我收到NSInvalidargument
错误
答案 0 :(得分:1)
改为写下:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"Row selected:%d",indexPath.row);
UIViewController *viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"SingleCamera"];
[[self navigationController] pushViewController:viewController animated:YES];
}
并在pushView...
的行处设置断点,以查看是否实例化了viewController。
修改强>
关于performSegue...
,您可以在故事板中找到它。