我的 iOS 应用程序使用 C 函数进行某些计算。我想从 -(void)viewDidLoad 但我不希望它卡住主线程。我尝试用 dispatch_async(dispatch_get_main_queue... block 调用它,但它仍然在主线程上被调用。还包括对 objective-c 方法的函数调用和调用 [self performSelector: InBackground] 也不起作用。请帮助。是有什么方法可以在 objective-c 应用程序的后台执行 C 函数?
最佳答案
您必须使用不同的队列,例如:
dispatch_queue_t backgroundQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(backgroundQueue, ^{
// do something
});
参见 Dispatch Queues了解更多详情。
关于ios - 如何从 objective-c 方法异步分派(dispatch) C 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37330257/