У меня небольшая проблема. Я пытаюсь использовать центр уведомлений, чтобы предупредить приложение о загрузке некоторого содержимого. После того, как пользователь зарегистрировался или успешно вошел в систему, я создаю контроллер представления, а затем делаю его корневым контроллером представления, используя blow
func finishLoggingIn() {
// print("Finish logging in from LoginController")
let homeController = HomeViewController()
self.loginButton.stopAnimation(animationStyle: .expand, completion: {
self.view.window?.rootViewController = homeController
self.view.window?.makeKeyAndVisible()
})
}
Кнопка входа в систему просто создает загрузочную анимацию для кнопки в целях пользовательского интерфейса.
При первом входе в контроллер я добавляю наблюдателя для уведомления.
let MainVCSetup = Notification.Name("mainVCComplete")
NotificationCenter.default.addObserver(self, selector: #selector(handleRootViewSwitch), name: MainVCSetup, object: nil)
Когда содержимое в моем mainVC загружается, я отправляю это же уведомление в Центр уведомлений примерно так:
NotificationCenter.default.post(name: MainVCSetup, object: nil)
Однако эта функция никогда не срабатывает независимо от того, что я делаю
@objc func handleRootViewSwitch(){
print("Trying to handle root view switch attack")
NotificationCenter.default.removeObserver(self, name: MainVCSetup, object: nil)
}
Если кто-то заметит, где я ошибся, я был бы очень признателен.