Ios 从UITableViewCell到ViewController的分段不工作
我在Ios 从UITableViewCell到ViewController的分段不工作,ios,swift,uitableview,segue,Ios,Swift,Uitableview,Segue,我在UITableViewCell和UIViewController之间设置了一个序列。我的理解是,如果我设置了一个从原型单元格到UIViewController的显示序列,当点击我的UITableView中的一个单元格时,UIViewController会显示出来,但我不会这样做。使其工作的唯一方法是覆盖tableViewdidSelectRowAtIndexPath,然后调用PerformsgueWithIdentifier 为了验证这一点,我创建了一个带有UITableViewContro
UITableViewCell
和UIViewController
之间设置了一个序列。我的理解是,如果我设置了一个从原型单元格到UIViewController
的显示序列,当点击我的UITableView
中的一个单元格时,UIViewController
会显示出来,但我不会这样做。使其工作的唯一方法是覆盖tableViewdidSelectRowAtIndexPath
,然后调用PerformsgueWithIdentifier
为了验证这一点,我创建了一个带有UITableViewController
和UIViewController
的快速项目。当我在原型单元和UIViewController之间创建一个segue时,它的工作方式应该是这样的。所以我知道这是可能的,我只是不确定是什么导致了我实际项目中的问题
没有多少代码可以显示。我的原型单元格是一个来自xib文件的自定义单元格,但我也尝试给它一个UITableViewCell
类,结果没有什么不同
有没有人遇到过这样一个案件,像这样的一段话应该管用,但却不行?如果是这样,您是如何修复的?让我们澄清一些基本问题
performsguewithidentifier:sender:
是UIViewController的一种方法,因此为了从单元格执行segue,您需要在单元格中声明VC的弱属性,如下所示[self.segueController performSegueWithIdentifier:@"segue_id" sender:self];
didselectRowatineXpath
有以下好处:您的segue逻辑属于控制器,而不是视图(因为uitableviewcell是uiview的子级)。因此,我建议您将此方法用于分段或处理视图层次结构connect segue from TABLEVIEW如果您的单元是从xib文件实例化的,那么您没有在故事板中使用原型单元。然后,由于xib文件中没有分段,因此您根本没有与单元格链接的分段。所以,我想我在你的帖子中失去了一些东西。谢谢你的评论。这是关键。即使我将我的cell类更改回UITableViewCell,我仍然在注册nib。这使得我不得不使用performsguewithidentifier。我建议您也看看这个:因为您可以看到如何打开新的ViewController以及如何向其传递参数