dealloc上是否需要removeObserver?

时间:2011-12-29 08:38:06

标签: iphone memory-management nsnotificationcenter

在我的一个视图控制器中,它将自身添加为UITextViewTextDidEndEditingNotification通知的观察者,如下所示

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(done:) name:UITextViewTextDidEndEditingNotification object:nil];

现在我想知道 - 当视图控制器被释放时我是否需要执行以下操作

[[NSNotificationCenter defaultCenter] removeObserver:self];

1 个答案:

答案 0 :(得分:4)

是的,你应该在被解除分配时随时删除任何观察者。否则通知中心将继续引用now-dealloc'd对象,并继续尝试向他们转发通知。