Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c NSNotificationQueue,发送方和处理程序必须在同一线程中吗?_Objective C_Multithreading_Nsnotification - Fatal编程技术网

Objective c NSNotificationQueue,发送方和处理程序必须在同一线程中吗?

Objective c NSNotificationQueue,发送方和处理程序必须在同一线程中吗?,objective-c,multithreading,nsnotification,Objective C,Multithreading,Nsnotification,如果通知是由子线程触发的,则通过NSNotificationQueue(当然是在子线程中调用的)发布它,但主线程中的处理程序是工作的,则不会调用该处理程序。但是,如果在主线程中触发通知,它将按预期工作 苹果是否意味着通知发送者和处理者必须在同一个线程中?如果是,NSNotificationQueue似乎没有那么大帮助。任何知道的人请提前分享和感谢 [[NSNotificationQueue defaultQueue] enqueueNotification:notification postin

如果通知是由子线程触发的,则通过NSNotificationQueue(当然是在子线程中调用的)发布它,但主线程中的处理程序是工作的,则不会调用该处理程序。但是,如果在主线程中触发通知,它将按预期工作

苹果是否意味着通知发送者和处理者必须在同一个线程中?如果是,NSNotificationQueue似乎没有那么大帮助。任何知道的人请提前分享和感谢

[[NSNotificationQueue defaultQueue] enqueueNotification:notification postingStyle:NSPostASAP coalesceMask:(NSNotificationCoalescingOnName) forModes:nil];

它们将处于同一线程中。如果需要多线程,请查看

编辑:

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

以及:

+(id)defaultQueue

返回当前线程的默认通知队列。此通知队列使用默认通知中心。

每个子线程都有自己的NSNotificationQueue,defaultQueue在主线程中,对吗?谢谢