为什么 shouldPerformSegue 使用字符串,我该如何使用 UIStoryboardSegue 来代替它?
Why does shouldPerformSegue use a string, and how do I use a UIStoryboardSegue with it instead?
例如,使用 prepare(for segue:.. 我可以简单地传递 segue 值:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let nav = segue.destination as? UINavigationController, let manageCaptureVC = nav.topViewController as? ManageCaptureVC {
}
}
但是现在我想在它被触发时有选择地取消它,而且似乎我只能用 shouldPerformSegue
来做到这一点,因为在准备中使用 return(对于 segue:.. 不会停止任何东西。
shouldPerformSegue 使用字符串而不是 UIStoryboardSegue
。我不确定这是为什么,我想要 UIStoryboardSegue
值。
override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
if debug_tutorialAllowCaptureBtnActions == false {
return false
}
//how do I get segue?
if let nav = segue.destination as? UINavigationController, let manageCaptureVC = nav.topViewController as? ManageCaptureVC {
}
return true
}
你需要
override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
if identifier == "segueName" {
return
}
}
获取segue本身是没有意义的。您只需要知道 segue 标识符。此外,如果您需要做出此决定,请替换
if debug_tutorialAllowCaptureBtnActions == false {
return false
}
和
return tutorialAllowCaptureBtnActions
例如,使用 prepare(for segue:.. 我可以简单地传递 segue 值:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let nav = segue.destination as? UINavigationController, let manageCaptureVC = nav.topViewController as? ManageCaptureVC {
}
}
但是现在我想在它被触发时有选择地取消它,而且似乎我只能用 shouldPerformSegue
来做到这一点,因为在准备中使用 return(对于 segue:.. 不会停止任何东西。
shouldPerformSegue 使用字符串而不是 UIStoryboardSegue
。我不确定这是为什么,我想要 UIStoryboardSegue
值。
override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
if debug_tutorialAllowCaptureBtnActions == false {
return false
}
//how do I get segue?
if let nav = segue.destination as? UINavigationController, let manageCaptureVC = nav.topViewController as? ManageCaptureVC {
}
return true
}
你需要
override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
if identifier == "segueName" {
return
}
}
获取segue本身是没有意义的。您只需要知道 segue 标识符。此外,如果您需要做出此决定,请替换
if debug_tutorialAllowCaptureBtnActions == false {
return false
}
和
return tutorialAllowCaptureBtnActions