非常に単純な MVC 設計の質問があります。
一連のプロパティを持つクラスと、クラスのインスタンスを表示するフォームがあります。一部のクラス プロパティは配列です。一部は 1 次元のテーブル ビューで表示される NSString の配列であり、一部は 2 次元のテーブル ビューで表示されるサブオブジェクトの配列です (サブオブジェクト プロパティごとに 1 列)。 )。これらのテーブルのデータに対して実際には何もしたくありません。内容をスクロール可能な読み取り専用のテーブル ビューに表示するだけです。
バインディングを初めて試みたときに、クラス インスタンスにバインドされたオブジェクト コントローラーを追加しました。次に、インスタンスの配列プロパティを指定するモデル キー パスを使用して、各テーブル ビューの各列をクラスの「選択」メンバーにバインドしようとしました (2 次元テーブルの場合は、サブのメンバー)。物体)。これが 1 次元テーブルの列では機能しないことに驚きました。
次に、すべてのテーブルに配列コントローラーを 1 つ追加し、それをオブジェクト コントローラーの "selection" メンバーにバインドします。1 次元テーブルの場合、モデル キー パスを指定せずに列を配列コントローラーにバインドしました。2 次元テーブルの場合、サブオブジェクトのプロパティを指定するモデル キー パスを使用して、列を配列コントローラーにバインドしました。これは機能しますが、7 つのテーブルを持つウィンドウの場合、7つのアレイ コントローラーがあります。テーブルはデータを表示する以外に何もしていないので、これはやり過ぎのように感じます。
私の質問は簡単です。私の設計は適切な MVC プラクティスに沿っていますか?これらのアレイ コントローラーは本当にすべて必要なのでしょうか? または、一部の配列コントローラーを排除できるようにするバインディング (1 次元および/または 2 次元テーブルの場合) を指定する簡単な方法はありますか? 1 列のテーブルに表示するオブジェクトに文字列の配列がある場合、オブジェクトとテーブルにバインドされた配列コントローラーを使用するのはやり過ぎのように感じます。
補助的な質問として、過剰なアレイ コントローラについて本当に心配する必要がありますか? それらは自由に使用する必要がある軽量のオブジェクトですか、それとも特に iOS のような限られたリソースのコンテキストで節約する必要があるリソース集約型のオブジェクトですか?