添加观察者会增加对象的保留计数吗?如果是,ARC 是否也处理此观察者的移除?如果没有,我应该在哪里移除观察者?
问问题
15063 次
1 回答
80
即使您使用ARC
. 创建一个dealloc
方法并在那里删除..
-(void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
如果您在这里看到不需要调用[super dealloc];
的方法,则只需要没有 super dealloc 的方法。
斯威夫特的更新
如果您正在快速编写代码,则可以在deinit方法中删除观察者。
deinit {
NSNotificationCenter.defaultCenter().removeObserver(self)
}
于 2013-03-27T10:17:20.317 回答