私は UIViewController を持っていますが、これには時間の経過とともに多くのデリゲート イベントが追加され、コントローラー クラスが非常に大きくなりました。UIViewController クラスには、コントローラーが管理している UIView を管理するためにイベント デリゲート メソッドから呼び出されるかなりの数のビュー管理メソッドが含まれています。
クラスにさらに UIActionSheet デリゲート イベントを追加しています。コントローラー クラスが大きくなってきたので、UIActionSheet デリゲート イベントを分割して、別のデリゲート クラスに配置する必要があると考えています。この別のデリゲート クラスは、ビュー コントローラー内のビュー管理メソッドを使用して、ビュー コントローラーがそれに応じてビューを調整するように、ビュー コントローラー クラスにコールバックする必要があります。(ビュー コントローラーは、ビューが表す別のモデル オブジェクトにアクセスします)。
このブレイクアウト アプローチを採用することには、賛否両論があります。デリゲート イベントをコントローラーにどんどん追加するのは間違っているように感じますが、コントローラーにコールバックする必要があるさまざまなカテゴリのイベントに対して個別のクラスを作成すると、不要な複雑さと難読化のレイヤーが導入されるようです。大規模なコントローラー クラスは「シンプルで簡単」ですが、間違っているように感じます。一方で、多数の異なるデリゲート クラスを使用すると、やや複雑で複雑になりますが、クラスは小さくなります。
誰かがこのトピックに関する知恵の言葉を提供できますか?おそらく、この問題に関するiOS固有の読み物を教えてくれますか?
どうもありがとう。