2016-04-13 9 views
0

私はボタン、テキスト、NSTableViewを含むNSView "CurrentActionsView"を持っています。 NSViewControllerクラスのCurrentActionsViewControllerは、.xib( "myTableViewController")内に独自のカスタムクラスオブジェクトを持つNSTableView( "myTableView")を除いて、すべてのコントロールの初期化を処理します。それは単にあるクラスにマップ:NSTableViewのNSTableViewDataSourceとNSTableViewDelegateは、NSViewの残りのコントローラとは別のNSViewControllerにあるべきですか?

@interface ActivationTableController : NSObject <NSTableViewDataSource, NSTableViewDelegate> 

私の質問はこれです:

私はすでにNSViewControllerあるCurrentActionsViewControllerクラスにNSTableViewDataSourceとNSTableViewDelegateを追加し、その責任の一つだけのコントローラがあるべきCurrentActionsViewのすべてのオブジェクトを処理するための?

私は現在、これら2つの別々のコントローラを2つの別々のファイルに持っているので、テーブル内のデータを再初期化して再ロードする必要があるとき、CurrentActionsViewがmyTableViewControllerに到達する複雑なパスです。

答えて

1

通常、ビューコントローラをテーブルビューのデリゲートとデータソースとして使用することから始めます。それは悪い出発点ではない。

あなたのアプリケーションがより複雑になるにつれて、あなたのView Controllerはあまりにも多くの責任を負うことになり、NSTableViewを特別に扱うオブジェクトを抽出することができます。

ビューコントローラをテーブルビューのデリゲートとデータソースとしてセットアップする場合は、テーブルビュー関連のコードを他のビューコントローラにあまり強く結合しないように注意してください。その時点でそれを抽出することが困難になる可能性があります。

関連する問題