当我选择表格视图单元格时无法推送我的视图控制器

Posted

技术标签:

【中文标题】当我选择表格视图单元格时无法推送我的视图控制器【英文标题】:Can't push my view controller when I select a table view cell 【发布时间】:2015-11-26 11:48:30 【问题描述】:

我正在使用 Objective-C。当我选择一个表格视图单元格时,我想推送一个新的 vier 控制器。这是我的代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
    detailViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"detailVC"];
    //something
    [self.navigationController pushViewController:vc animated:YES];

我的故事板中有一个详细视图控制器,并将其故事板 ID 设置为“detilVC”。但是当我选择一个表格视图单元格时,模拟器会冻结。有人可以帮助我吗?

【问题讨论】:

为什么不使用故事板转场? (ctrl+从单元格拖动到视图控制器,您可以选择是在选择时还是在点击附件按钮时进行segue)。 在 [self.navig .. 行中设置断点,并检查 vc 对象是否不为零——它可能由于某种原因没有正确实例化。 【参考方案1】:

获取一个导航控制器,并将当前控制器从您的 didSelectRowAtIndexPath 调用到它在情节提要中的根控制器。检查以下示例。

然后用鼠标右键拖动到你当前的控制器并使其成为“根视图控制器”,如下所示:

构建并运行您的应用程序。

【讨论】:

【参考方案2】:

确保“self.navigationController”不为零且“vc”不为零

【讨论】:

以上是关于当我选择表格视图单元格时无法推送我的视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

选择表格单元格时删除键盘

在表格视图中点击单元格时推送新视图

在单击表格单元格时推送新视图,这怎么可能? [关闭]

仅当在表格视图中选择单元格时,详细信息披露才会做出反应

在表格视图中点击单元格不会做任何事情

使用平移手势选择多个表格视图单元格