1

並列スレッド(dispatch_sync(MyConcurrentQ) - // DB接続など)でブロックする方法でいくつかのロジックを実行するベストプラクティスは、メインキューのブロックの完了をブロックする方法で私は、同時スレッドが完了したときにのみ、次のビューを表示しますか?すばやく使用しているスレッド間の通信に最適な方法は何ですか?

+0

の可能性のある重複した[シングルトンそんなに悪いですか?](http://stackoverflow.com/questions/137975/what-is-so-bad-about-singletons) – CodeBender

+0

シングルトンは、代替ではありませんあなたが言及したコミュニケーション方法のいずれかに。シングルトンは、オブジェクトAがある他のオブジェクトBへの参照を得ることを可能にするが、オブジェクトBの変化に応答してオブジェクトA内のいくつかのコードを実行する方法を提供しない。オブジェクトAは、 Bの財産をポーリングして、変更を探してください。これは良い考えではありません。ちなみに、あなたがリンクしている "シングルトン"の例は、私が見ている最悪のコードの一部です。ますます深いビューコントローラのネストを作成し、グローバル(グローバルではない)の使用を奨励します。 – Paulw11

+0

サードパーティのフレームワークを使用していくつかのDBへの接続を確立しています。接続が確立されるまでプログレスバーを表示する必要があります私はグローバル変数 "Done = True"を設定し、ViewControllerでそれをポーリングしてプログレスバーを却下しました。これを達成するためのベストプラクティスは何ですか、迅速なiOSの世界で初心者です –

答えて

-2

アップルの文書で回答が見つかりました 「定期的な通知センターは通知が送信されたスレッドで通知を送信します」[...]時には、通知が配信されることが必要な場合があります[...]これらのケースでは、通知がデフォルトのスレッドで配信され、それらを適切なスレッドにリダイレクトするときに通知をキャプチャする必要があります。 https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Notifications/Articles/Threading.html#//apple_ref/doc/uid/20001289-CEGJFDFG

関連する問題