如果通过子线程触发通知,然后通过NSNotificationQueue(当然在子线程中调用)发布它,但是在主线程中使用处理程序,则不会调用处理程序。但是如果通知在主线程中触发,则它按预期工作。
Apple是否意味着通知发件人和处理程序必须位于同一个帖子中?如果是,NSNotificationQueue似乎没有那么有用。知道它的任何人请提前分享和感谢。
[[NSNotificationQueue defaultQueue] enqueueNotification:notification postingStyle:NSPostASAP coalesceMask:(NSNotificationCoalescingOnName) forModes:nil];
答案 0 :(得分:1)
他们将在同一个主题中。如果您需要多线程,请查看NSOperationQueue
编辑:
来自NSNotificationQueue class reference:每个线程都有一个默认通知队列,该队列与任务的默认通知中心相关联。您可以创建自己的通知队列,每个中心和线程有多个队列。
和
+ (id)defaultQueue
返回当前线程的默认通知队列。此通知队列使用默认通知中心。