好的,在这里感觉非常愚蠢 - 但由于某些原因我无法让我的对象停止接收通知!
我的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:
调用似乎没有任何效果?
答案 0 :(得分:4)
试试这个:
__block id observer = [[NSNotificationCenter defaultCenter] addObserverForName:kMyNotification
object:nil
queue:nil
usingBlock:^(NSNotification *note)
{
[NSLog(@"Got here");
[[NSNotificationCenter defaultCenter] removeObserver:observer
name:kMyNotification
object:nil];
}];