是需要ARC中的NSNotificationCenter removeObserver?
添加观察者是否会增加对象的保留数量? 如果是的话,ARC是否也处理这个观察者的移除? 如果不是,我应该在哪里删除观察者?
即使使用ARC
也应该明确地删除观察者。 创build一个dealloc
方法,并在那里删除..
-(void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; }
如果你看到这个方法,你不需要调用[super dealloc];
这里只需要没有超级dealloc的方法。
更新Swift
如果您在swift中编写代码,可以使用deinit方法删除observer。
deinit { NSNotificationCenter.defaultCenter().removeObserver(self) }