Я расширил класс UIviewcontroller, чтобы создать общий класс corecontroller для управления FCM во всех viewcontroller (необходимо выполнить некоторую общую функцию при получении FCM).
override func viewDidAppear(_ animated: Bool) {
//registering gcm reciever
NotificationCenter.default.addObserver(self,
selector: #selector(showReceivedGCMMessageCore(_:)),
name: NSNotification.Name(rawValue: appDelegate.messageKey), object: nil)
}
override func viewDidDisappear(_ animated: Bool) {
NotificationCenter.default.removeObserver(self, name: NSNotification.Name(rawValue: appDelegate.messageKey), object: nil)
}
Мои расширенные классы Corecontroller viewdidAppear и viewdiddisapper находятся здесь выше, я управлял наблюдателем уведомлений и removeobserver.После этого, где бы мне ни потребовался расширенный класс corecontroller и унаследованный класс corecontroller
// в моем viewcontroller
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
}
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
}
Но мне не хватает того, что один viewcontroller не удаляет наблюдателя при исчезновении (и из-зак этой единственной функциональности, т. е. воспроизведение звука - это место разговора в фоновом режиме) Просто хочу знать, какой контроллер просмотра получает FCM.(в каком классе viewcontroller получено сообщение FCM)