我希望将此10.6代码转换为10.5:
@autoreleasepool {
dispatch_queue_t queue = dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(queue,^(){
// contact webservice for IP-address information
// update UI (NSMenuItem)
});
}
到目前为止我所拥有的:
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
// background process
// contact webservice for IP-address information
// update UI (NSMenuItem)
// end background process
[pool drain];
似乎a可以使用dispatch_async
,但不能使用blocks
和dispatch_queue_t
。
答案 0 :(得分:1)
如果您需要支持Leopard,您可以随时返回旧学校"NSThread
"(< - 此处链接的文档),这将继续得到全面支持,并通过10.9&超出。
答案 1 :(得分:0)
这实际上取决于// stuff here
部分的内容。
基本上,它使用预GCD形式的并发来降低。如果您的目标是10.5,那么您也可以使用NSOperation
。