如何以编程方式创建Unwind segue

时间:2016-07-02 17:02:54

标签: swift uinavigationcontroller segue unwind-segue

我创建的应用程序不使用故事板,在我的应用程序的这一部分中,我只需要以编程方式创建从ThirdViewControllerFirstViewController的展开segue。我知道如何使用sotorybard,但无法找到任何解决方案如何以编程方式。任何sugestions?

1 个答案:

答案 0 :(得分:3)

您无法在没有故事板的情况下创建实际的 segue ,但您可以通过在popToViewController上调用navigationController来执行相应的操作。以下示例连接到一个按钮,以便从FirstViewController返回ThirdViewController

@IBAction func goBackToFirstVC(sender: UIButton) {
    guard let controllers = navigationController?.viewControllers else { return }
    let count = controllers.count
    if count > 2 {
        // Third from the last is the viewController we want
        if let firstVC = controllers[count - 3] as? FirstViewController {
            // pass back some data
            firstVC.someProperty = someData
            firstVC.someOtherProperty = moreData

            navigationController?.popToViewController(firstVC, animated: true)
        }
    }
}

在覆盖viewWillAppear时,您可以根据传回的数据进行操作。