私は非常に大きなアプリを設計しており、起動時にいくつかの異なるサーバーとのセッションを作成します。アプリのすべての部分で使用されるセッションを作成しているので、App Delegate が最適だと思いました。
しかし、問題は、セッションの進行状況を画面に表示する必要があることです。メイン メニューの下部に UIToolBar を配置する予定ですが、これはプログレス バーで覆いたくありませんが、その上の UIView を覆います。
1) App Delegate にセッションを確立させ、進行状況をメイン メニュー クラスに報告させて、進行状況バーに表示できるようにします (セッションが別のスレッドで作成された場合、これを行う際に問題は発生しますか?)、
2) アプリ デリゲートにメイン メニュー (一連のボタンと UIToolBar を備えた UIView) を表示させ、進行状況を追跡して表示させます (アプリ デリゲートに何も表示したことはありませんが、これを実行できると仮定しますが、お勧めしません)。
3) App Delegate にメイン メニューをプッシュさせ、mainMenu クラスにセッションを作成させ、プログレス バーを表示させます。
4) デリゲート クラスでセッションを作成し、デリゲートをセルフ (AppDelegate) ではなく mainMenu に設定するのが他の方法だと思いますが、セルフ以外のものを使用したことがないので、これが機能するかどうかはわかりません。または、クラスのデリゲートではなく AppDelegate で実行されているスレッドを (super を呼び出すことで) 閉じることができる場合。
前に言ったように、セッションは別のスレッドのクラスで作成されるため、UI がロックされません。最善の方法は最初の方法だと思いますが、別のスレッドで実行すると問題が発生するのでしょうか。アプリデリゲートに戻り、そのメッセージを mainMenu ビューに送信しますか?
すべてが理にかなっていることを願っています。さらに明確にする必要がある場合はお知らせください。どんな情報でも大歓迎です
乾杯、