Mac OS X Какао-архитектура приложения с одним окном - PullRequest
5 голосов
/ 10 июня 2011

Я не могу понять, как оптимально спроектировать приложение для приложения с одним окном для работы в Mac OS X. Я бы предпочел один документ - приложение с одним окном (я не кодирую служебное приложение), но этонеясно, где я должен инициализировать содержимое окна.

В iOS для этой цели я должен использовать -[UIViewController viewDidLoad] или -[UIViewController viewWillAppear:] метод контроллера корневого представления.учебник или объясните, как бороться с NSDocument - NSDocumentController - NSWindowController - NSViewController классы?

Спасибо за ваши ответы.: -)

1 Ответ

3 голосов
/ 10 июня 2011

Вы можете поместить свою оконную логику в свой AppDelegate, но я не одобряю это.Я рекомендую создать свой собственный отдельный подкласс NSWindowController для управления окном, даже для приложения с одним окном.Это очень хорошее разделение.

Я не понимаю, почему можно использовать NSDocumentController для приложения с одним окном.NSViewController предназначен для управления вашими пользовательскими представлениями.Обычно он не используется в обычном простом приложении Mac, если только у вас нет некоторых пользовательских представлений, которыми вы хотите специально управлять.

Итак, в вашем AppDelegate, скажем, applicationDidFinishLaunching:, вы должны выделить и инициализировать контроллер окна ипокажите окно.

В "Программирование какао для Mac OS X" от Hillegass есть хорошая глава о том, как работать с оконными контроллерами.Конечно же, в документах Apple есть кое-какие материалы.

...