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.'
Вы не должны выполнять код, связанный с пользовательским интерфейсом, в фоновом потоке. – Adam
Отлично! Спасибо! –