投稿の多くは、UIKit は完全にスレッド セーフではないと述べています。GCD の Apple ドキュメントでは、スレッド セーフでないのは DRAWING であることがわかります。したがって、次のようなコードは問題ありません。
ディスパッチ_非同期( ^{
//do some work if(!self.window.rootViewController.presentedViewController && ) [self.window.rootViewController class] == anotherClass) { dispatch_async(dispatch_get_main_queue(), ^{ //do some work }); }
});