そこで私は最近、List/Details アプリ パターンの機能を拡張することに取り組みました。詳細ビューでスワイプを実装して、親リストの前または次のアイテムに移動します。
私のソリューションでは、Details ビューに 1 つのプロパティを追加し、List ビューに 3 つのプロパティを追加し、それぞれにいくつかの新しい関数を実装し、両方の ViewDidLoad とテーブル ビューの DidSelect メソッドでコードが実行されるようにする必要があります。
Cocoa と XCode 4 で再利用できる明らかなメカニズム (スニペット、サブクラス化、およびカテゴリ) を調べて、このコード (ほぼスタンドアロン) を他の画面やアプリに簡単に追加できるようにしました。それに適しているようです。必要なすべての変更をカプセル化できるメカニズムや、他の画面やプロジェクトでのコードの再利用を簡素化できるメカニズムがわかりません。
具体的な短所は次のとおりです。
スニペット: 単一のコード ブロックしか挿入できないため、複数のファイルの変更や、同じファイル内の複数のポイントを変更する必要があるコードには適していません。
カテゴリ: 新しいメソッドを追加 (または既存のメソッドを再定義) できますが、新しいプロパティを追加することはできません。
サブクラス化: 新しいメソッドとプロパティを追加できますが、ソリューションを実装するために複数のクラスにわたる変更に対処しません。
ハイブリッド アプローチ (スニペット、カテゴリ、およびサブクラス化を使用) を使用できますが、そのようなコード変更をまとめてパッケージ化するメカニズムはありません。
他の言語や IDE からのものであっても、他の場所で使用されているアプローチを知ることは興味深いでしょう。
ありがとう