iphone - 收到通知的频率比发送通知的频率高

标签 iphone objective-c ios xcode nsnotifications

我有一个奇怪的问题。

我有一个方法可以像这样调用通知中心来发送通知:

[[NSNotificationCenter defaultCenter] postNotificationName:@"NIDNewDataSetNotification" object:self];

如果我在发送通知之前对时间进行 NSLog,我会看到它每秒发送一次,这是应该的。

我在另一个对象中有一个方法,它像这样将自己添加为观察者:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveDataNotification:) name:@"NIDNewDataSetNotification" object:nil];

但是,通过 NSLogging 时间,我看到它每秒收到四次通知(所有四次都在大约 0.001 秒内)。

没有发送其他通知。如果我注释掉发送通知的行,则不会调用我捕获通知的方法。

有什么想法吗?

最佳答案

我能想到可能发生这种情况的两种情况:

1) 您是否以某种方式多次注册通知?也许在你注册之前抛出一个 NSLog(@"registering...") 语句来确保你只看到它一次。

2) 您要取消注册该事件吗?那能不能坏掉或者不叫?也许也在那里放一个 NSLog 语句以确保它被调用,并确保您正在删除正确的委托(delegate)和通知的观察者。

关于iphone - 收到通知的频率比发送通知的频率高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7003181/

相关文章:

iphone - UILongPressGestureRecognizer 可以和 touchesMoved 这样的触摸事件一起使用吗?

iOS - WatchKit 如何将消息/数据从 iPhone 应用程序发送到 WatchKit 应用程序?

iphone - 如何为另一个设备复制整个XCode项目?

ios - 在 View 中执行页面跳转是否违背MVC架构?

objective-c - 如何在 Objective-C 中使用本地域套接字

ios - 如何在 UIPickerView 中为两个不同的组件显示两种不同的对象类型?

ios - 重新加载表数据时出现 fatal error : unwraps to nil: need assistance

iphone - 在 TableView 中使用 GCD 和加载缩略图时遇到问题

ios - 使用 NSURLSession 和 Queue 上传数据

ios - 从 JSON 获取字典