Например, при подготовке (для 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 в prepare (для segue: .. ничего не останавливает.
shouldPerformSegue использует String вместо 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
}