4

我有一个动态单元格UITableViewController,当有人点击一个单元格时,我想推送一个特定的视图控制器。所以我正在尝试使用预制的方法

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

但是当我进入模拟器并点击一个单元格时,这就是我得到的:

"NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle [...] with name 'AffichageVotesQuestionDuMomentViewController'.

在该方法中,我有这个:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    // Navigation logic may go here. Create and push another view controller.

     AffichageVotesQuestionDuMomentViewController *detailViewController = [[AffichageVotesQuestionDuMomentViewController alloc] initWithNibName:@"AffichageVotesQuestionDuMomentViewController" bundle:nil];

    // Pass the selected object to the new view controller.
     [self.navigationController pushViewController:detailViewController animated:YES];

}

AffichageVotesQuestionDuMomentViewController是我自己创建的自定义视图控制器。我还尝试创建另一个随机的,我得到了相同类型的错误。如果我将 to 设置initWithNibName:nil,它会转到顶部有导航栏的视图控制器,但那是完全黑色的。

现在,我是一名初学 iPhone 程序员,对笔尖、笔尖名称等知之甚少。任何帮助表示赞赏。此外,我没有在情节提要或任何东西中做任何事情,因为我似乎正在以编程方式创建视图控制器并以这种方式推动。如果有一个很好的方法可以用 segue 来做,我也可以接受(但我需要知道被点击的单元格的行)。

谢谢!

4

1 回答 1

5

因为您使用的是 IB 故事板,所以我认为您应该这样做:

UIStoryboard*  sb = [UIStoryboard storyboardWithName:@"mystoryboard" bundle:nil];
UIViewController* vc = [sb instantiateViewControllerWithIdentifier:@"AffichageVotesQuestionDuMomentViewController"];

...而不是使用用于基于 xib 的经典方法的“initWithNibName”-initializer。

于 2012-11-25T11:10:12.590 回答