ВРУЧНУЮ удалить обозреватель уведомлений для iOS 9.0 и новее - PullRequest
0 голосов
/ 11 октября 2019

Хотелось бы узнать, можно ли удалить обозреватель уведомлений для iOS9.0 и новее. Документы Apple говорят, что уведомления будут автоматически удалены после исчезновения представления, что является правдой, но не полностью правдой. мой tarBarController вызывает UIApplication.willResignActiveNotification, даже если представление исчезло.

Если есть присутствуетViewViewController, представленный tarBarController, presentViewController вызывает уведомление, а tarBarController делает то же самое, даже если я удаляю наблюдателя из моего tarBarController*

//TabBarController

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(true)
 if #available(iOS 13.0, *) {
                        NotificationCenter.default.addObserver(self, selector: #selector(applicationWillDisappear(notification:)), name: UIScene.willDeactivateNotification, object: nil)
                          } else {
                              NotificationCenter.default.addObserver(self, selector: #selector(applicationWillDisappear(notification:)), name: UIApplication.willResignActiveNotification, object: nil)
                          }
}



override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(true)

    NotificationCenter.default.removeObserver(self) // there is no need to remove this observer in iOS 9 and later , but TarBarController doesn't dealloc 

}




//PresentedViewController

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(true)
 if #available(iOS 13.0, *) {
                        NotificationCenter.default.addObserver(self, selector: #selector(applicationWillDisappear(notification:)), name: UIScene.willDeactivateNotification, object: nil)
                          } else {
                              NotificationCenter.default.addObserver(self, selector: #selector(applicationWillDisappear(notification:)), name: UIApplication.willResignActiveNotification, object: nil)
                          }
}



override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(true)

    // the presentedViewController removes this observer which is fine

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