Один из способов - использовать центр уведомлений
В viewcontroller2 добавить:
override func viewDidLoad() {
super.viewDidLoad()
notificationCenter.default.addObserver(self,
selector: #selector(view1DidChange),
name: "view1DidChange",
object: nil
)
}
@objc private func view1DidChange(_ notification: Notification) {
// Do something
}
В viewcontroller1 добавить
notificationCenter.default.post(name: "view1DidChange", object: self)
Это можно повторить в каждом классе, которыйдолжен слушать.