确定哪个 segue 触发了 UIViewController

Identify which segue triggered UIViewController

我有一个 UIViewController 可以从来自其他各种 UIViewControllers. 的多个弹出窗口转场访问 UIViewControllers. 我需要根据发件人是谁,或者可能取决于转场标识符来执行一些代码。我想知道是否有一种方法可以在不使用父视图控制器中的 prepareForSegue 方法的情况下在弹出视图中获取此信息。

我问是因为我的一些控制器非常简单并且完全在 IB 中构建,作为一个懒惰的程序员我不想为它们创建自定义 类。

如果唯一的问题是您不想为简单的 类 创建自定义 类,请实施 prepareForSegue 并通过检查 [=14] 了解触发了哪个 segue =].

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// segue.identifier will give you which segue was triggered. Using this info you can branch out your logic......
}

使用这个override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool { if identifier == "yourseguename" { // do your stuff and then decide if you want to perform it return true } return false }