最初のかなり複雑な Cocoa-Touch ビューを接続していると、うっかりして古い手続き型パターンに戻ってしまい、それらを振り払うのが難しいと感じています... Cocoa (OO) 設計パターンの多くは十分に認識していますが、私は私は彼らを転覆させているのではないかと心配しています。
そのため、問題のこのビューはすぐに手に負えなくなり、間違った方法でアプローチしているのではないかと思っています?!? ビューはUIViewControllerのサブクラスによって管理されます。ビュー自体には、±10 個のサブビューが含まれます。これらのサブビューの一部は「スライド」して出入りし、一緒にスライドする独自のサブビュー (コントロール、イメージビューなど) を含みます。
あまり詳しく説明しなくても、ルート ビュー コントローラーの touchesBegan/Moved/Ended メソッドを使用して、管理コードのほとんど (すべてではないにしても、アニメーションを含む) を実行していることがわかりました。そして、ブール値のプロパティの管理、設定、およびチェックの混乱になりました。 if (editingMode & panelAVisible) .... if (editingMode & panelBVisible) ... または *if (viewFlipped) { for (MyCustomView view in someArrayOfSubviews)}など ... 確かに、このアプリの UI にはこれらのほとんどが必要ですビュー (またはそのコンテンツ) に触れて、ユーザーが画面のさまざまな部分に移動できるようにします。
私が解決しようとしている主な問題は、次のようなものです。viewA が存在する場合、3 つのビューが非表示 (アニメーション) になります...または、viewB がタッチされている場合、viewC に含まれるすべてのオブジェクトはネガティブです...等
これを処理するための巧妙な (または初歩的な) OO アプローチはありますか? おそらく、ビューを含むサブビューを独自のミニ ビュー コントローラーとして機能させるのでしょうか? 私はあまりにも多くの(何か?)例を見つけることができませんでした...