我在iPhone和内部使用块我只是显示带有标题和文字的UIAlertView
问题是警报视图有时会出现很长时间。
在其他方面它的工作正常。
谁能告诉我可能是什么原因?
答案 0 :(得分:3)
必须从主线程处理UI *元素。如果使用块在后台运行某些东西,则在主线程的dispatch_queue中包含对UI*
的所有调用。
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];
});
});