Элементы
UI * должны обрабатываться из основного потока. Если вы используете блок для запуска чего-либо в фоновом режиме, включите все вызовы UI*
в dispatch_queue основного потока.
как это:
dispatch_async(myQueue, ^{
// do something in background
dispatch_async(dispatch_get_main_queue(), ^{
// Interaction with User Interface Elements on the main thread...
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Foo" message:@"Bar" delegate:nil cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];
[alert show];
});
});