我有2个视图控制器(viewcontroller1
和viewcontroller2
)。
它们都具有以模态方式(分别为vc1segue
和vc2segue
)呈现给第三个视图控制器(viewcontroller3
)的segue。在viewcontroller3中,我希望能够识别哪个viewcontroller / segue用于呈现viewcontroller3
,并基于哪一个在viewcontroller3
中执行某些操作。
我如何识别使用了哪个viewcontroller / segue?
答案 0 :(得分:2)
使用override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!)
捕获segue准备并以视图控制器3现在知道发生了什么的方式微移segue目的地。
答案 1 :(得分:1)
@ Jelle的回答是一个很好的方法。以下是在viewController3's viewWillAppear
中实现相同目标的另一种方法:
if let viewContr2 = self.presentingViewController as? ViewController2 {
// ViewController2 was who performed the segue
} else if let viewContr3 = self.presentingViewController as? ViewController3 {
// ViewController3 was who performed the segue
}
presentingViewController
可以针对parentViewController
进行更改,具体取决于您的架构。