我制作了一个不使用storyboard的应用程序,在应用程序的这部分中,我需要仅通过编程方式从ThirdViewController
创建一个unwind segue到 FirstViewController
。我知道如何使用sotorybard完成它,但无法找到任何解决方案以通过编程方式完成它。有什么建议吗?
我制作了一个不使用storyboard的应用程序,在应用程序的这部分中,我需要仅通过编程方式从ThirdViewController
创建一个unwind segue到 FirstViewController
。我知道如何使用sotorybard完成它,但无法找到任何解决方案以通过编程方式完成它。有什么建议吗?
如果没有Storyboard,您无法创建实际的segue,但是您可以通过在navigationController
上调用popToViewController
来执行等效操作。以下是一个示例,它连接到一个按钮,从ThirdViewController
返回到FirstViewController
:
@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
方法时,您可以使用传回的数据进行操作。
performSegueWithIdentifier
。你不能这样做有什么原因吗? - RobUINavigationController
,在第一个和第三个之间是SecondViewController
。 - PiterPan