Ran*_*all 0 iphone xcode objective-c nsnotifications ios
我有一个奇怪的问题.
我有一个通过调用通知中心发送通知的方法,如下所示:
[[NSNotificationCenter defaultCenter] postNotificationName:@"NIDNewDataSetNotification" object:self];
Run Code Online (Sandbox Code Playgroud)
如果我在发送通知之前的NS时间,我发现它每秒发送一次,就像它应该的那样.
我在另一个对象中有一个方法,它将自己添加为观察者,如下所示:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveDataNotification:) name:@"NIDNewDataSetNotification" object:nil];
Run Code Online (Sandbox Code Playgroud)
但是,通过NSLogging时间,我看到它每秒收到四次通知(所有四次都在0.001秒内).
没有其他通知被发送.如果我注释掉发送通知的行,我的方法就不会调用捕获通知的方法.
有任何想法吗?
我可以想到两种可能发生这种情况的情况:
1)您是否以某种方式多次注册通知?也许NSLog(@"registering...")在您注册之前发表声明,以确保您只看到一次.
2)您是否取消注册活动?可以打破还是不打电话?也许在那里放置一个NSLog语句以确保它被调用,并确保你删除观察者以获得正确的委托和通知.
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |