Можно ли сначала использовать -removeObserver:
, а затем вызвать -addObserver:
с тем же именем?Или это правило - сначала иметь -addObserver:
до -removeObserver:
?
Я пробовал использовать ОС 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
?