未收到NSNotification

时间:2013-09-23 09:59:00

标签: ios objective-c multithreading

我有一个多线程程序通过NSNotificationCenter发送消息(addObserver:..和postNotification:...方法)。

线程订阅了不同的通知,其中一些是共享的,因此应该在各种线程中接收消息。

通常,所有通知都在所有线程中正确接收和处理,但有时在一些正在侦听通知的线程中不会调用通知的回调函数。

有没有办法确保所有订阅的帖子都能处理我的所有通知?

2 个答案:

答案 0 :(得分:1)

重要的不是您订阅通知的主题,而是发布通知的主题。您可能必须编写自己的通知管理器才能实现此目的。我认为它不会过于复杂,我建议使用dispatch_queue_t而不是线程。

答案 1 :(得分:0)

NSNotificationCenter在原始通知触发的同一线程上启动已注册的方法。你确定这个帖子还活着吗?