可能な限り最良の方法でコードをリファクタリングしようとしていますが、特定の状況に適したアーキテクチャが何であるか疑問に思っています。
私がやろうとしていること
私がやっていることは非常に単純ですCALayer
。インタラクティブな UI 要素を表すカスタム サブクラスがいくつかあります。UI の一部の部分が静的であるため、それらは複数のレイヤーに分割されているため、これらの静的要素を不必要に再描画したくありませんでした。現在、レイヤはCustomView
、 のサブクラスであるクラスの初期化部分にサブレイヤとして追加されていますUIView
。
現在、サブクラスである対応するクラスはありません。これは、を使用しているときに、他のビューを含むジェネリックまたはジェネリックの一部に含まれているため、インスタンスごとに別のクラスが冗長になると感じたからです。CustomViewController
UIViewController
CustomView
UITableViewCell
UIViewController
UIViewController
CustomView
また、クラス内で行っている唯一の操作は、UIView
タッチ イベントに応答し、タッチ情報をサブレイヤーに送信して、それに応じて UI の外観を更新できることです。drawRect
メソッドなどをオーバーライドしているわけではありません。
質問
基本的に、次のいずれかを行うべきかどうかを判断しようとしています。
オプション1:
クラスを取り除き、のサブクラスであるクラスをCustomView
作成し、オブジェクトをの組み込みプロパティのサブレイヤとして追加するだけです。CustomViewController
UIViewController
CALayer
CustomViewController
view
また
オプション 2:
サブクラスが冗長であるという私の考えUIViewController
は正しいので、そのままにして、オブジェクトを内部にCustomView
持つクラスを作成する必要があります。CALayer
これに関するアドバイスをいただければ幸いです。