Вы можете создать класс BaseViewController
, который наследуется от UIViewController
и переопределяет методы viewDidAppear(_:)
и viewDidDisappear(_:)
. В каждом из них вы можете опубликовать уведомление. Затем сделайте все UIViewControllers, которые вам нужны, наследовать от BaseViewController
.
. Вам все равно придется добавить код ко всем вашим ViewController, но это будет просто наследование от одного класса.
class BaseViewController: UIViewController {
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
// viewDidAppear notification
}
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
// viewDidDisappear notification
}
}
Та же идея с классом BaseView
.
class BaseView: UIView {
override func addSubview(_ view: UIView) {
super.addSubview(view)
// notification
}
override func willRemoveSubview(_ subview: UIView) {
super.willRemoveSubview(subview)
// notification
}
}