Хорошо, чувствую себя довольно глупо здесь, но по какой-то причине я просто не могу заставить свой объект перестать получать уведомления!Не удается остановить одноразовое уведомление?
У меня есть очень простая настройка в моем методе init:
, который должен прослушивать первое уведомление и прекращать прослушивание при первом приеме. Методы init:
определенно называются только один раз.
Вопрос заключается в том, что он продолжает получать уведомления после первого:
[[NSNotificationCenter defaultCenter] addObserverForName:kMyNotification
object:nil
queue:nil
usingBlock:^(NSNotification *note)
{
[NSLog(@"Got here");
[[NSNotificationCenter defaultCenter] removeObserver:self
name:kMyNotification
object:nil];
}];
Любые идеи, почему removeObserver:name:object:
вызов, кажется, не имеют никакого эффекта?
Действительно, дело в том, что вам нужно удалить наблюдателя зарегистрирован на основе обратного вызова блока, используя идентификатор возвращается, когда наблюдатель был зарегистрирован. Вы не можете смешивать старые и новые методы добавления/удаления. –
D'oh !!! Спасибо, что указали на это - просто нашли его в документах 5 минут назад: - / – Jay