通話イベント(通話中ではない、ダイヤルしている、切断されているなど)を登録するiOSアプリを書いています。呼び出しイベントを登録するコードがありますが、それを配置する正しい場所がわかりません(モデル内?コントローラー内?)。
すべてのサンプルはコードをアプリデリゲートに配置しますが、それは厄介なようです。結局のところ、アプリデリゲートはMVCの一部ではありません。
ありがとう!
通話イベント(通話中ではない、ダイヤルしている、切断されているなど)を登録するiOSアプリを書いています。呼び出しイベントを登録するコードがありますが、それを配置する正しい場所がわかりません(モデル内?コントローラー内?)。
すべてのサンプルはコードをアプリデリゲートに配置しますが、それは厄介なようです。結局のところ、アプリデリゲートはMVCの一部ではありません。
ありがとう!
結局のところ、アプリデリゲートはMVCの一部ではありません。
議論の余地はありますが、「正しいデザイン」が気になりすぎている気がします。これらのイベントハンドラーの場所を変更したい場合は、コントローラーのどこかに配置します(データプロバイダーではないため、モデルではありません...)
しかし、結局のところ、なぜ彼らはアプリのデリゲートで「ぎこちない」のでしょうか。これが、シングルトンアプリケーションオブジェクトにデリゲートがある理由です。システム全体のイベントは、アプリケーションの内部部分ではなく、アプリ(およびそのデリゲート)にそれぞれ通知します。それは物事を混乱させています。
これらのイベントはアプリケーションの一部を制御するため、最良の答えは次のようになります。コントローラー内。デリゲートに多くのものを入れるこのAppleスタイルは、確かに悪いコーディング慣行です。