私は、MapKitとiOSの注釈を使って作業しています。注釈が追加される直前(しばらく時間がかかることがあります)に、小さな「読み込み中...」UIViewを表示したいと思います。スレッディングなしでこれを行うと、ローディングビューはあまりにも遅れて、それが解消される前にほとんど表示されません。 performSelectorInBackgroundを使用して注釈を読み込むと、数回試行するたびに動作し、残りのUIViewは表示されますが、mapView:didAddAnnotationViews:
が呼び出されても注釈は表示されません。なぜこれが予測できないほどに行動するのか誰もが考えることができますか?あなたはrefreshAnnos
で何をしますかperformSelectorInBackgroundとMapKit
[self performSelectorInBackground:@selector(refreshAnnos) withObject:nil];
1を使用して、次のデザインパターンを試すことができ、GCDは、ほとんどの場合performSelectorInBackground' 'よりも優れたソリューションです。 – DarkDust
しかし、 'DISPATCH_QUEUE_PRIORITY_BACKGROUND'はiOS 5以降でのみ利用可能であることに注意してください。また、 'DISPATCH_QUEUE_PRIORITY_LOW'と同様にiOS 4をサポートする方が良い解決法かもしれません。 – DarkDust