我有这行代码:
NotificationCenter.default.addObserver(self,
selector: #selector(savingAll),
name: Notification.Name("AppMinimilised"),
object: nil)
和一个功能
func savingAll(){
print("saving")
}
但是,出于一些神奇的原因,当应用程序关闭时,我会多次获得打印(以及函数中包含的其他内容)!
我注意到的是,当我第一次使用该代码打开视图并最小化应用程序时,我只获得此打印一次 然而,如果我离开这个观点然后再回到它,再次极小,我会得到另一个。 任何解释?
答案 0 :(得分:2)
确保您取消注册
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)
}