Ios AppDelegate多重初始化
我有一行代码:Ios AppDelegate多重初始化,ios,swift,appdelegate,Ios,Swift,Appdelegate,我有一行代码: NotificationCenter.default.addObserver(self, selector: #selector(savingAll), name: Notification.Name("AppMinimilised"), objec
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 viewDidDisappear(_ animated: Bool)
{
super.viewDidDisappear(animated)
NotificationCenter.default.removeObserver(self)
}
//
你把这条观察线放在哪里?通过观察线,你的意思是我在哪里注册通知?是的,……在ViewDidLoad中你把这条观察线放在哪里?通过观察线,你的意思是我在哪里注册通知?是的,……在ViewDidLoad中,所以我测试了它,得到了这个错误参数标签'(:,选择器:,:,对象:)'不匹配任何可用的重载See edit………也不要忘记删除viewDidLoadEdit中的旧observe?你是什么意思?抱歉,这太新了,所以我测试了它,并得到了此错误参数标签'(:,选择器:,:,对象:)'不匹配任何可用的重载查看编辑………也不要忘记删除viewDidLoadEdit中的旧observe?你是什么意思?抱歉,这是一个全新的问题