viewDidAppear вызывается, когда вызывается self.view.window? .rootViewController? .dismiss (animated: true, завершение: nil) - PullRequest
0 голосов
/ 17 октября 2018

У меня есть приложение для управления кабиной, в котором класс corecontroller расширен с UIViewcontroller для использования всех общих функций.Здесь мы добавляем уведомления наблюдателя и удаления

override func viewDidAppear(_ animated: Bool) {
    //registering gcm reciever
    super.viewDidAppear(animated)
    NotificationCenter.default.addObserver(self,
                                           selector: #selector(showReceivedGCMMessageCore(_:)),
                                           name: NSNotification.Name(rawValue: appDelegate.messageKey), object: nil)
}
override func viewDidDisappear(_ animated: Bool) {
    super.viewDidDisappear(animated)
     NotificationCenter.default.removeObserver(self, name: NSNotification.Name(rawValue: appDelegate.messageKey), object: nil)
}

В MyViewController

class MyViewController: Corecontroller{
  override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
  }
  override func viewDidDisappear(_ animated: Bool) {
     super.viewDidDisappear(animated)
 }
}

при поступлении FCM будет выполнять функции внутри corecontroller ,в том, что одна из функций заключается в открытии страницы, скажем AcceptReqeustViewcontroller из моего расширенного corecontroller, в этом AcceptReqeustViewcontroller , когда пользователь принимает запрос, необходимо закрыть обратно в viewcontroller, так что я сделал

let appDelegate = UIApplication.shared.delegate as! AppDelegate
    let rootController   = kStoryBoard.main.instantiateViewController(withIdentifier:kViewControllers.mainPage) as! MainViewController

    appDelegate.window?.rootViewController = rootController

    self.view.window?.rootViewController?.dismiss(animated: true, completion: nil)

инициализировал новый viewcontroller как rootviewcontroller и закрыл, но в этом случае в MyViewController viewDidAppear() выполняющихся функциях просто нужно знать, почему это происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...