我有点麻烦。我正在尝试使用通知中心来提醒应用程序某些内容已加载完毕。用户注册或成功登录后,我将创建视图控制器,然后使用打击使其成为根视图控制器
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()
})
}
登录按钮只是为了UI的目的在该按钮上创建一个加载动画。
当我第一次进入控制器时,我添加了通知的观察者。
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)
}
如果有人注意到我出了错,我将不胜感激。