如何收看通知&后台线程中的进程?

时间:2011-01-19 22:24:59

标签: cocoa

所以基本上我要做的是创建一个后台线程,其中所做的只是观察要发布的通知,然后在发布时对其进行一些处理。我找不到办法做到这一点。有帮助吗?感谢。

1 个答案:

答案 0 :(得分:0)

最简单的方法可能是NSNotificationCenter的-addObserverForName:object:queue:usingBlock。我会先尝试一下,但我相信这有一些问题,所以如果不能满足你的需求,这里有另一种选择:

...
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(processNotificationInBackground:) name:TheNameOfTheNotification object:nil];
...

- (void) processNotificationInBackground:(NSNotification *)not {
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        /* your background notification processing code goes here */
        /* note that you should transfer control back to the main queue if you need to update your UI */
    }
}