viewWillAppear не вызывается после popToRootViewController

Это поток:
->(PUSH)-> VC2->(PUSH)->
При нажатии кнопки в VC3 Я вызываю метод, указанный ниже, и он работает правильно - возвращает меня к:

      self.navigationController?.popToRootViewController(animated: false)

Но проблема в viewWillAppear() метод в VC1который не называется.
Есть ли какое-то решение, чтобы это назвать?

2 ответа

я не совсем уверен но viewWillAppear()будет вызываться при загрузке контроллера. он не звонит, пока отклоняет другой контроллер. поэтому вам нужно попробовать custom Delegate или же Notification observer.

Здесь вы можете сделать трюк:

      if let root = navigationController?.viewControllers.last(where: { $0 is YourRootController }) {
     navigationController?.popToViewController(root, animated: true)
}
Другие вопросы по тегам