我有一个问题要问你们。我想知道我生成另一个线程并设置 NSNotificationCenter 来观察主线程中的事件?,这样做最好的是什么?
我会非常感谢你的帮助
我有一个问题要问你们。我想知道我生成另一个线程并设置 NSNotificationCenter 来观察主线程中的事件?,这样做最好的是什么?
我会非常感谢你的帮助
通知由发布者同步传递。不涉及队列。当您调用 时postNotification:
,它将立即在当前线程上为所有观察者按顺序运行所有观察者代码,然后返回。
如果观察者想要处理不同队列上的观察,那么您应该使用观察者中的dispatch_async
或NSOperation
方法将处理移动到适当的队列然后返回。
您可以使用- (id)addObserverForName:(NSString *)name object:(id)obj queue:(NSOperationQueue *)queue usingBlock:(void (^)(NSNotification *))block
.
正如文档所述,关于队列参数:
应该添加块的操作队列。如果您传递 nil,则该块在发布线程上同步运行。