可以先用,再用同名-removeObserver:
调用吗?-addObserver:
还是先有-addObserver:
先有的规则-removeObserver:
有的规则?
我使用 OS 4.0 进行了尝试,看起来还可以(没有崩溃、警告……等)。
-(void) setObserver
{
[[NSNotificationCenter defaultCenter] removeObserver:self
name:OBSERVER_NAME object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector: @selector(selectorName)
name:OBSERVER_NAME
object:nil];
}
原因是防止两个具有相同selectorName
方法的观察者被调用两次,假设如果该-setObserver
方法在其内部-viewDidLoad
并发出内存警告时再次调用该方法。
另外,我需要在-removeObserver:
期间调用-dealloc
吗?