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