我有一个 AController
,其中有 2 个 segues 连接到 BController
。
在 AController
中我这样写:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "FirstSegue"{
// do something
}
if segue.identifier == "SecondSegue"{
// do something
}
}
然后来到BController
,我要找的是这个:
if AController.segue.identifer == "FirstSegue"{
// do something
}
if AController.segue.identifer == "SecondSegue"{
// do something
}
我该怎么办?
这是 Storyboard enter image description here
最佳答案
在BController中取一个bool变量
var isFromA:Bool!
在 Controller 中:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "FirstSegue"{
let vc = segue!.destinationViewController as! BController
vc.isFromA = true
}
if segue.identifier == "SecondSegue"{
let vc = segue!.destinationViewController as! BController
vc.isFromA = false
}
}
在 BController 中:
if isFromA == true{
// do something
} else {
// do something
}
关于ios - 如何从不同的 segues 中表现不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39865397/