我正在使用以下代码运行后台进程:
func launchTor(hashedPassword hash : String) {
dispatch_async(dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0)) {
// Do some stuff here
let observer = NSNotificationCenter.defaultCenter().addObserverForName("AppTerminates", object: nil, queue: nil) {
notification -> Void in
print("Terminating...")
// Do smh here
}
}
// Just some more stuff
}
有没有办法指定需要捕获通知的队列(GCD)?
答案 0 :(得分:1)
- addObserverForName:object:queue:usingBlock:方法是NSOperationQueue类提供的额外功能,基于 Grand Central Dispatcher:
操作队列使用
libdispatch
库(也称为Grand Central Dispatch)来启动其操作的执行。
(从NSOperationQueue
类引用的开头)
如果有原因(例如不同的行为或教育目的),可以重新实施此功能,否则可能需要切换到NSOperationQueue
而不是裸GCD。