在 iOS 系统中,不通过提前获取并存储数据的方案。能否获取到当前显示的控制器?
自定义的控制器
UITabBarController
present
问题说明,通过runtime替换-view***Appear:
相关方法的实现,可以实现本需求。但是这种情况,需要开发者在某处保存当前显示的控制器。所以,该方案不满足需求。
统一回复:
self.navigationController.viewControllers.lastObject
这类方案只能在控制器中获取控制器所在navigationController的最后一个控制器,它和当前显示的控制器不恒等。
比如tab+nav架构中,当前显示的是第二tab,在第一个tab的nav的某个控制器中执行该方法,并不能获取当前显示的控制器。
S'il y a une barre de navigation, vous pouvez trouver
.self.navigationController.viewControllers.lastObject
via la pile de contrôleurs enregistrée dans la barre de navigation. Je ne comprends pas très bien certaines des situations que vous devez gérer...Vous pouvez obtenir le contrôleur sur lequel vous vous trouvez via la navigation et revenir en arrière en conséquence