AppDelegate 多个通知
AppDelegate multiple nitifications
我有这行代码:
NotificationCenter.default.addObserver(self,
selector: #selector(savingAll),
name: Notification.Name("AppMinimilised"),
object: nil)
和一个函数
func savingAll(){
print("saving")
}
然而,出于某种神奇的原因,当应用程序关闭时,我多次获得打印(以及函数中包含的其他内容)!
我注意到,当我第一次使用该代码打开视图并最小化应用程序时,我只打印一次
但是,如果我离开这个视图并返回到它,并再次最小化,我会得到另一个。
有什么解释吗?
确保取消注册
override func viewDidDisappear(_ animated: Bool)
{
super.viewDidDisappear(animated)
NotificationCenter.default.removeObserver(self)
}
//
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
NotificationCenter.default.addObserver(self,selector: #selector(savingAll), name:Notification.Name("AppMinimilised"), object: nil)
}
我有这行代码:
NotificationCenter.default.addObserver(self,
selector: #selector(savingAll),
name: Notification.Name("AppMinimilised"),
object: nil)
和一个函数
func savingAll(){
print("saving")
}
然而,出于某种神奇的原因,当应用程序关闭时,我多次获得打印(以及函数中包含的其他内容)!
我注意到,当我第一次使用该代码打开视图并最小化应用程序时,我只打印一次 但是,如果我离开这个视图并返回到它,并再次最小化,我会得到另一个。 有什么解释吗?
确保取消注册
override func viewDidDisappear(_ animated: Bool)
{
super.viewDidDisappear(animated)
NotificationCenter.default.removeObserver(self)
}
//
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
NotificationCenter.default.addObserver(self,selector: #selector(savingAll), name:Notification.Name("AppMinimilised"), object: nil)
}