Cocoa での通常のグッド プラクティスでは、それぞれNSView
が独自のNSViewController
所有者を持つ必要があります。これをビューベースの各行に適用する必要がありますNSTableView
か?もしそうなら、これらの NSViewController を初期化してキャッシュするための適切な戦略は何ですか?
質問する
517 次
1 に答える
2
ほとんどの場合、これはやり過ぎです。すべて NSView
の人がコントローラーを持つ必要はありません。モデルレイヤーと関係のないビューについてはどうですか? その場合、メディエーター/コントローラーは不要でしょうか? 大規模なテーブルでは、これにより不要なコントローラー オブジェクトが急増する可能性があります。
ドキュメントにあるTableViewPlaygroundサンプル プロジェクトを詳しく見てみましょう。そのプロジェクトで、行を構成するさまざまなビューを Apple がどのように使用しているかに注目してください。特に、ATComplexTableViewController
クラスとそれに関連する nib ファイルに注目してください。ここで、dataSource
テーブル ビューの は、dataSource
それ自体がビューとモデルの間のメディエータとして機能するビューを返します。
于 2012-09-28T02:03:26.027 に答える