众神将许多习惯跳伞到我孤立的丛林村庄,例如:
- (void) dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
[super dealloc];
}
他们的方式对我来说很奇怪,但我仍然想要了解他们。
如果实例消失,为什么还要打扰松散?该实例的引用/保留计数是否会减少?是否会混淆某种包含所有听众列表的Notification Hash Table?
答案 0 :(得分:37)
NSNotificationCenter
不会保留观察员。如果你没有删除观察者,并且观察者被释放,那么NSNotificationCenter
将保留一个悬挂指针,当下一次尝试通知观察者时,它会(最常见)崩溃。
答案 1 :(得分:8)
虽然在实践中你的许多外行幼崽会在不遵守仪式的情况下离开,因为圣乔布斯很高兴在你的许多超级班上给予removeObserver
咒语。例如UINavigationController
。虽然在任何作品中都没有找到,但我发现这是真的。