2012-04-09 5 views
3

私はいくつかのかなり複雑なビューを含むウィンドウを持っています。今は、単一のNSWindowControllerを使用して、ウィンドウとすべてのビューのUIを制御しています。それぞれのビューの詳細を扱っているので、かなり大きなクラスになっています。複数のNSViewControllerをペン先に接続する

ビュービヘイビアは互いに独立しているため、ビューごとにUIロジックを別々のコントローラに配置する機会があります。より 洗練されたウィンドウレイアウトを管理するための作業を分割する

使用ビューコントローラ:

Mac App Programming Guideによると、これは、ビューコントローラは用が何であるかを正確です。あなたのビューコントローラは、ウィンドウの内容を表示するために一緒に(ウィンドウコントローラを使用して)動作します。

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

答えて

3

nibにビューコントローラを追加すると、それがインスタンス化される場所で、接続するために、ウィンドウコントローラにIBOutletを追加します(nibのFile's Ownerと仮定します)。

しかし、メモリの面では、そのスキームが高価になる可能性があります。代わりに、最初にビューが表示される前に不都合な遅れを生じないと仮定して、ウィンドウコントローラーで遅延的にインスタンス化することを検討することができます(つまり、必要な場合のみ行う)。

両方のアプローチを試すのを恐れてはいけません。そのうちの1つがあなたのために最適かもしれません。

いずれの場合でも、すべてのコードを別々のコントローラに分解する決定を下さったことを歓迎します。非常に素晴らしい。あなたの努力の中であなたに幸運を。

関連する問題