3

いくつかのかなり複雑なビューを含むウィンドウがあります。現在、単一の NSWindowController を使用して、ウィンドウとすべてのビューの UI を制御しています。各ビューの詳細を扱うため、かなり巨大なクラスになりつつあります。

ただし、ビューの動作は互いに独立しているため、各ビューの UI ロジックを個別のコントローラーに配置する機会があると考えています。

Mac App Programming Guideによると、これはまさにView Controllerの目的です。

ビュー コントローラーを使用して作業を分割し、より洗練されたウィンドウ レイアウトを管理します。ビュー コントローラーは (ウィンドウ コントローラーと) 連携して、ウィンドウの内容を表示します。

ただし、このアイデアが実際にどのように機能するかについてのドキュメントや例は見つかりません。ウィンドウ コントローラーに加えて、複数のビュー コントローラーを nib ファイルに追加できますか?

4

1 に答える 1

3

ビュー コントローラを nib に追加すると、そこがインスタンス化され、それらを接続するためにウィンドウ コントローラに s を追加IBOutletします (それが nib のファイルの所有者であると仮定します)。

ただし、メモリに関しては、特にView Controllerの数が多いほど、そのスキームは高価になる可能性があります。代わりに、ビューが初めて表示される前に不快な遅延が発生しないと仮定して、ウィンドウコントローラーでそれらを遅延してインスタンス化することを検討することをお勧めします (つまり、必要な場合にのみ実行します)。

両方のアプローチを試すことを恐れないでください。それらの1つがあなたにとって最適かもしれません。

いずれにせよ、すべてのコードを個別のコントローラーに分解するというあなたの決断に拍手を送ります。非常に素晴らしい。あなたの努力に幸運を。

于 2012-04-09T17:17:17.590 に答える