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)

}