【发布时间】:2021-02-05 08:16:07
【问题描述】:
我想知道当用户导航到另一个屏幕时。如果导航堆栈有任何变化,它应该通知我。为此,我不想在任何视图控制器的视图中编写任何代码。我想写一次,这样我就可以观察到哪个屏幕被导航了。
【问题讨论】:
标签: ios swift navigation
我想知道当用户导航到另一个屏幕时。如果导航堆栈有任何变化,它应该通知我。为此,我不想在任何视图控制器的视图中编写任何代码。我想写一次,这样我就可以观察到哪个屏幕被导航了。
【问题讨论】:
标签: ios swift navigation
考虑编写一个超级UIViewController,你的所有UIViewControllers 都继承自它。然后你只需在你的超级 ViewController 中编写代码
【讨论】:
@Nikolaj Nielsen 答案的示例代码:
class BaseViewController: UIViewController {
var identifier: String {
return ""
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
print("Appeared VC: \(identifier)")
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
print("Disappeared VC: \(identifier)")
}
}
class CustomViewController: BaseViewController {
override var identifier: String {
return "CustomViewController"
}
}
【讨论】: