2
我正在使用dispatch_async在其他腳本上執行某些操作。目標C - 調用dispatch_async顯示錯誤
dispatch_queue_t backgroundQueue;
在viewDidLoad中:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
backgroundQueue = dispatch_queue_create("dispatchName", NULL);
}
使用它:
dispatch_async(backgroundQueue,^
{
// Do something...
});
一切正常,直到我再次調用此方法。 該應用程序是錯誤美眉:
2014-09-29 11:34:10.626 hELLO[2785:389790] *** Assertion failure in -[UIKeyboardTaskQueue waitUntilAllTasksAreFinished], /SourceCache/UIKit_Sim/UIKit-3318/Keyboard/UIKeyboardTaskQueue.m:374
2014-09-29 11:34:10.628 hELLO[2785:389790] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIKeyboardTaskQueue waitUntilAllTasksAreFinished] may only be called from the main thread.'
您不應該在後臺線程上執行任何與UI相關的代碼。 – Adam 2014-09-29 08:41:28
太棒了!謝謝! – 2014-09-29 08:47:54