2

这是我的代码......

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

[tableView deselectRowAtIndexPath:indexPath animated:NO];

[self performSegueWithIdentifier:@"BowlerDetail" sender:self];
}

我得到的回报是该单元格仍处于选中状态,并且我的详细信息视图没有显示。是的,我已经检查过了,“BowlerDetail”是转场的名称。我收到的错误消息是 - 'NSInternalInconsistencyException',原因:'-[UITableViewController loadView] 加载了“tc8-Hk-kaK-view-YJA-Me-wti” nib 但没有得到 UITableView。

任何帮助表示赞赏。

编辑:在 xCode 4.2 之前的日子里,这就是我之前在这里实现目标的方式。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:NO];

DetailView *detailVC = [[DetailView alloc] initWithNibName:nil bundle:nil];

[self.navigationController pushViewController:detailVC animated:YES];


[detailVC release];
}
4

3 回答 3

3

问题是您使用了推送转场并且没有使用 UINavigationController 作为根视图控制器。因此添加 UINavigationController 作为根视图控制器或将转场更改为模态。

于 2012-04-19T11:59:56.963 回答
1

如果您不需要以编程方式执行 segue,您可以通过选项单击单元格并将“模态”segue 拖到要呈现的视图来连接 IB 中的单元格原型。

和你的代码?此方法是否在启动 segue 时可见的视图内?故事板中的两个视图都有吗?

于 2011-12-11T21:56:02.727 回答
0

[tableView deselectRowAtIndexPath:indexPath animated:NO];. 您从自身调用此方法。那是你想要的吗?我认为你应该删除它。

于 2011-12-05T04:34:29.617 回答