首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSNotificationCenter问题

NSNotificationCenter问题
EN

Stack Overflow用户
提问于 2010-12-07 11:17:55
回答 2查看 1.1K关注 0票数 3

有没有办法知道一个对象是否已经注册为特定通知的观察者?在我的实现中,我必须动态地添加和删除观察者。由于某些原因,存在一个随机问题,即侦听器收到两次相同的通知。我知道我必须检查我的代码,但如果我知道这些信息,对我来说修复起来会更容易。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-07 12:35:36

不是的。无法查询此信息。如果你需要它,你需要自己跟踪它。

票数 2
EN

Stack Overflow用户

发布于 2011-05-14 02:03:55

您可能需要研究一下NSNotificationQueue。这是来自苹果公司的概述。这听起来可以帮助你不再收到重复的通知:

NSNotificationQueue对象(或简称通知队列)充当通知中心(NSNotificationCenter实例)的缓冲区。虽然通知中心在发布时分发通知,但放入队列中的通知可以被延迟,直到当前通过run循环传递的结束或直到run循环空闲。还可以合并重复通知,以便即使发布了多个通知,也只发送一个通知。通知队列通常以先进先出( NSNotification)的顺序维护通知(NSNotification实例)。当通知上升到队列的前面时,队列将通知发送到通知中心,通知中心又将通知分派给所有注册为观察者的对象。

每个线程都有一个默认通知队列,该队列与任务的默认通知中心相关联。您可以创建自己的通知队列,并且每个中心和线程都有多个队列。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4373079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档