为啥我不能从 UITableView 单元格转到 detailView 工作?

Posted

技术标签:

【中文标题】为啥我不能从 UITableView 单元格转到 detailView 工作?【英文标题】:Why wont my segue from UITableView cell to a detailView work?为什么我不能从 UITableView 单元格转到 detailView 工作? 【发布时间】:2011-12-05 04:31:09 【问题描述】:

这是我的代码.....

- (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];

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

【参考方案3】:

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

【讨论】:

我删除了该行,并遇到了同样的错误。我在我的问题中添加了过去可以使用的代码,但我无法将其转换为 xCode 4.2。 您在没有 xib 文件的情况下启动视图控制器:initWithNibName:nil 是您想要的吗?您以编程方式 100% 实现您的 gratpics?! 这是我之前使用 nib 文件而不是故事板时的解决方案。 好吧,您的错误是,它无法从您尝试加载的任何内容中找到 tableView。如果一切正常,您应该退出。

以上是关于为啥我不能从 UITableView 单元格转到 detailView 工作?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我不能在 uitableview 单元格中放置一个 nsarray

为啥我不能专注于 iOS 中 uitableview 单元格(越过导航栏)中的正确 uitextfield,目标 c

如何从 UITableViewController 转到多个视图控制器

从 UITableView(不是 UITableViewController)转到 UIViewController

从具有 id 的 UItableview 单元格中获取数据

uitableview 单元格背景的问题