我有一个 UITableViewController,其中静态单元格通过 Storyboard嵌入到普通 ViewController 中。这一切都按预期工作。但是,当我想在单击嵌入式 tableview 上的单元格时准备 segue 时,应用程序崩溃而没有真正的错误。
我有一个用于嵌入式 UITableViewController 的类 TableViewVC,以及一个嵌入它的类 RootVC。我想实现这个方法:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?);
我从我的 TableViewVC 中的特定静态单元格在我的 Storyboard中创建了 segue。当我在 TableViewVC 中实现此方法时,它永远不会被调用。它确实在 RootVC 中被调用但是当我尝试访问 segue.identifier 属性时崩溃。当我在这里调试应用程序时,我可以看到 segue 的类型是:
UIStoryboardEmbedSegue
有谁知道我如何正确准备这个 segue 并访问标识符属性以了解单击了哪个单元格?
编辑:错误截图:http://cl.ly/image/2z031b2B3i0o
请您参考如下方法:
UIStoryboardEmbedSegue 用于 ViewController 中的嵌入关系。它正在设置 RootVC 和 TableVC 之间的父子关系。它崩溃是因为您可能没有为这个特定的 segue 设置标识符。如果您对嵌入关系不感兴趣,则不应在 RootVC 中覆盖此函数。
看起来您没有正确设置单元格的转接。如果您发布 Storyboard的图片,我们可以看看。
另一种方法是从您的 TableVC(而不是单元格)设置一个 segue,方法是控制从 Storyboard 中 VC 顶部的黄色 VC 图标拖动到您想要的目的地。然后在 didSelectRow 中以编程方式执行 segue .
