VC 之间的 Swift Segue 没有任何联系

Posted

技术标签:

【中文标题】VC 之间的 Swift Segue 没有任何联系【英文标题】:Swift Segue between VC's with nothing to link 【发布时间】:2016-09-27 19:48:28 【问题描述】:

我正在尝试在我的应用程序中链接两个视图控制器,但如果不将其附加到我的 tableview 单元格,我无法弄清楚如何链接它们。我希望它只是一个带有标识符的简单 segue,因此我可以使用标识符调用 perfrom segue。但是,我只能通过将它从我的单元格拖动到下一个视图控制器来设法创建一个 segue。

这是我试图链接的两个 VC 的图像,显​​示了被选中的单元格。

http://imgur.com/gallery/PWJol

我不知道该怎么做。

这是我用于 segue 的代码,似乎是正确的。我希望它在选择一行时进行 segue 并传递所选行的标签名称。

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) 
    self.NameToPass = DietSelectionTableViewCell.TypesOfDiets[indexPath.row]
    self.performSegue(withIdentifier: "DietInformation", sender: self)



// MARK: - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) 
    if segue.identifier == "DietInformation" 
        if let destinationVC = segue.destination as? DietInformationViewController 
            destinationVC.DietTypeLabelText = self.NameToPass
        
    
    // Get the new view controller using segue.destinationViewController.
    // Pass the selected object to the new view controller.

【问题讨论】:

在你正在segueing的场景中,按住ctrl并单击顶部的橙色圆圈(代表视图控制器本身)并拖动到你正在segueing的视图控制器。 【参考方案1】:

视图控制器本身控制拖动。它由场景上方矩形中的第一个圆圈表示。

在这张图片中,我突出显示了你应该控制并拖动的东西:

或者,您可以使用左侧的列表。只需从视图控制器控制拖动。我再次强调了你应该控制拖动的东西:

【讨论】:

以上是关于VC 之间的 Swift Segue 没有任何联系的主要内容,如果未能解决你的问题,请参考以下文章

人工触发 Segue

如何在没有 segue 的情况下在 Swift 3 中将数据从 VC 传递到另一个?

在 Swift 中以编程方式制作 Segue

Swift:如果条件不满足,则继续执行 segue

如何在没有 segue 和 storyboard 编程的情况下传递数据?

准备使用数组进行 Segue - Xcode 8.0 Swift 3.0