在iOS开发中,我们可以通过以下几种方式来检查我们从哪个视图控制器跳转到另一个视图控制器:
prepare(for:sender:)
方法获取源视图控制器和目标视图控制器,可以通过源视图控制器的self
属性来获取当前的视图控制器。override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let sourceViewController = self as? SourceViewController {
if let destinationViewController = segue.destination as? DestinationViewController {
// 在这里可以获取到源视图控制器和目标视图控制器
}
}
}
viewControllers
属性获取当前的视图控制器栈,从而获取当前的视图控制器。if let viewControllers = navigationController?.viewControllers {
if let currentViewController = viewControllers.last {
// 获取当前的视图控制器
}
}
present
方法进行视图控制器的跳转,可以通过presentingViewController
属性获取源视图控制器,通过presentedViewController
属性获取目标视图控制器。if let sourceViewController = presentingViewController as? SourceViewController {
if let destinationViewController = presentedViewController as? DestinationViewController {
// 获取源视图控制器和目标视图控制器
}
}
以上是常用的几种方式来检查从哪个视图控制器跳转到另一个视图控制器的方法。具体使用哪种方式取决于你的项目架构和需求。
领取专属 10元无门槛券
手把手带您无忧上云