0

通話イベント(通話中ではない、ダイヤルしている、切断されているなど)を登録するiOSアプリを書いています。呼び出しイベントを登録するコードがありますが、それを配置する正しい場所がわかりません(モデル内?コントローラー内?)。

すべてのサンプルはコードをアプリデリゲートに配置しますが、それは厄介なようです。結局のところ、アプリデリゲートはMVCの一部ではありません。

ありがとう!

4

2 に答える 2

2

結局のところ、アプリデリゲートはMVCの一部ではありません。

議論の余地はありますが、「正しいデザイン」が気になりすぎている気がします。これらのイベントハンドラーの場所を変更したい場合は、コントローラーのどこかに配置します(データプロバイダーではないため、モデルではありません...)

しかし、結局のところ、なぜ彼らはアプリのデリゲートで「ぎこちない」のでしょうか。これが、シングルトンアプリケーションオブジェクトにデリゲートがある理由です。システム全体のイベントは、アプリケーションの内部部分ではなく、アプリ(およびそのデリゲート)にそれぞれ通知しますそれは物事を混乱させています。

于 2013-01-11T16:04:55.717 に答える
0

これらのイベントはアプリケーションの一部を制御するため、最良の答えは次のようになります。コントローラー内。デリゲートに多くのものを入れるこのAppleスタイルは、確かに悪いコーディング慣行です。

于 2013-01-11T16:04:07.060 に答える