AppDelegate多次硝化

时间:2018-05-26 23:22:09

标签: ios swift appdelegate

我有这行代码:

NotificationCenter.default.addObserver(self,
                                       selector: #selector(savingAll),
                                       name: Notification.Name("AppMinimilised"),
                                       object: nil)

和一个功能

func savingAll(){
    print("saving")
} 

但是,出于一些神奇的原因,当应用程序关闭时,我会多次获得打印(以及函数中包含的其他内容)!

我注意到的是,当我第一次使用该代码打开视图并最小化应用程序时,我只获得此打印一次 然而,如果我离开这个观点然后再回到它,再次极小,我会得到另一个。 任何解释?

1 个答案:

答案 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)

}