也许标题没有提供良好的描述所以请阅读以下内容。
我有一个设置为收听事件的通知:
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.checkIfNotificationsWereTurnedOnAfterAlertShowing), name: UIApplicationWillEnterForegroundNotification, object: UIApplication.sharedApplication())
然后我想删除此通知的观察者。 我发现我需要像这样使用deinit:
deinit {
NSNotificationCenter.defaultCenter().removeObserver(UIApplicationWillEnterForegroundNotification)
print("deinit")
}
但问题是,当我关闭视图控制器时,程序永远不会执行deinit功能。 在这answer我发现它可能是由于强烈的参考。
我查了很多链接,但无法找到如何声明通知的弱引用。 那么如何申报弱通知呢?
希望我的问题很明确。
期待您的帮助。