Skip to main content
 首页 » 操作系统

uitableview之在 Swift 的嵌入式 tableView 中准备 segue

2024年01月01日38duanxz

我有一个 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 .