如果 NSNotificationCenter
postNotificationName
由于未找到观察者或任何其他原因而未能发布,如何捕获?
- 在我的例子中,有时
postNotificationName
在添加观察者之前被调用,所以我想处理这种情况
我尝试的是一些糟糕的解决方案:
我创建了一个全局NSArray
,当执行postNotificationName
时,我在该数组中插入通知详细信息,然后在观察者实际收到通知时清空该数组,我使稍后在其他类中检查它是否为空,如果不是,则 postNotificationName
失败。
最佳答案
这确实不是 NSNotificationCenter
的工作原理。它以一对多的方式将消息(NSNotification
)分发到将自身添加为监听器的其他对象。仅仅因为通知被一名监听器收到,并不意味着它被所有监听器收到。如果没有类注册为监听器,则帖子不会“发布失败”,只是没有对象可以监听。
听起来您正在寻找的是一个排队系统。忘记NSNotificationCenter
,只需使用NSArray
作为排队机制,或者从那里获得更详细的信息。
关于ios - 捕获 NSNotification postNotification 的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30326466/