0

私は現在、基本的に多くの抽象的なデータ ソースからのデータを解釈するプロジェクトを考えています。

アプリ内の通信はこんな感じ

[UI] <-> [Controller / Delegate] <-> [Subclass of Abstract Data Source]

これは基本的に MVC パターンです。私の問題は何ですか、それぞれ[Subclass of Abstract Data Source]が限られた量の しか使用できない[UI]ため、フローは基本的に次のとおりです。

  • データ ソース (DS) のインスタンスを作成する
  • DS から可能な UI のリストを取得する
  • UI セレクターを作成し、プリセット UI をインスタンス化する
  • DS に UI の変更を許可する
  • 事前定義されたハンドラ メソッドによって DS から UI を埋める

UI の例はNSTableViewNSOutlineViewNSCollectionViewなどです。

したがって、基本的には、列名、順序、コントロールのスタイルなどを変更する必要があります...それぞれに固有の NSWindow を設計する可能性はありませんData Source

今質問:

動的な UI の作成とカスタム データ処理ロジック (Core Data へのバインディングがないなど) が必要な場合、InterfaceBuilder を使用する必要がありますか (それは可能ですか)、またはすべてのビュー ロジックをプログラムで実装する必要がありますか?

4

1 に答える 1

3

好きな方を使用してください。バリエーション/動的領域は、コントローラーによって表現/処理できます。ある意味では、コードの動的部分をコントローラーに移動することをお勧めしますが、必要に応じて、一般的な高レベルの設計に XIB を使用することもできます。

したがって、ビューが単一のデータ表現に適しておらず、複数のデータ表現に使用される場合、実装/バリエーションをコントローラー ドメインに移動できます。実装/定義がすべてに適用される場合、それを XIB またはプログラム内のどこにでも定義できます。その場合、不変 (骨格) ビューに XIB (またはコード) を使用できます。

于 2012-06-09T21:50:10.200 に答える