dispatch_asyncのバックグラウンド処理でUIをいじってはいけない
メインスレッドを止めないためにdispatch_asyncを使ってネットワーク処理をバックグラウンドで行っていた。
ネットワーク処理が完了次第メインスレッドでUIを変更するのが普通だが誤ってバックグラウンド側でUIをいじる処理を書いたら、
iPhone5 iOS6ではスクロールするたびにステータスバーがチカチカしておかしくなった。
当然だけどUIをいじったりする処理はメインスレッドでやろうって話。
//バックグラウンド処理 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ //ネットワークとかの重い処理を書く //ここにUIをいじる処理を書いた事によってステータスバーがチカチカしたりおかしくなった //メインスレッド dispatch_async(dispatch_get_main_queue(), ^{ //本来はここでUIをいじったりする }); });