Это в порядке для использования -removeObserver:
сначала и затем звоните -addObserver:
с тем же именем? Или действительно ли это - правило иметь -addObserver:
сначала прежде -removeObserver:
?
Я попробовал его с помощью ОС 4.0, и это кажется OK (никакой катастрофический отказ, предупреждения... и т.д.).
-(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
?