是需要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) }