这个问题已经在这里有一个答案:
- 志愿和ARC如何removeObserver 3个回答
- 在ARC我们需要发送removeObserver:明确? 4个回答
是否加入一个观察者增加保留对象的数量? 如果是,那么ARC处理这个观察者的去除呢? 如果不是这样,我应该在哪里删除观察者?
这个问题已经在这里有一个答案:
是否加入一个观察者增加保留对象的数量? 如果是,那么ARC处理这个观察者的去除呢? 如果不是这样,我应该在哪里删除观察者?
你应该明确地甚至使用删除观察者ARC
。 创建dealloc
方法和删除有..
-(void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
如果你看到的方法,你不需要调用[super dealloc];
在这里,只需要有超级的dealloc方法。
更新斯威夫特
如果你是在迅速编写代码,您可以在DEINIT方法去除观测。
deinit {
NSNotificationCenter.defaultCenter().removeObserver(self)
}