无法从uitablecell打开viewcontroller

时间:2012-12-30 12:23:34

标签: ios uitableview

我有一个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错误

编辑:我的项目结构是这样的:我有一个导航控制器和一个初始视图A.从视图A,我将使用完全相同的代码进入viewB。从视图B我将使用segue模式模式查看C,在storyboad中,在视图C中是使用上述代码的tableviewcontroller。

1 个答案:

答案 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...,您可以在故事板中找到它。