2010-06-08 2 views
1

Я прихожу из фона для разработки iPhone OS. Я сейчас пытаюсь написать приложения для OSX, но я не понимаю, где какао на OSX решает, где программа получает контроль.От iPhone OS до какао на OSX

Я вижу основную функцию, но откуда идет управление программой? Скажем, например, я хочу программно создать окно с NSView в нем, как только приложение завершит запуск - как бы я это сделал? Нет делегата приложения, которое я вижу, в iPhone OS я бы подождал, когда будет вызван метод . Я действительно не хочу использовать Interface Builder или NIB для настройки моего окна/представления. Как я могу это сделать?

+0

Как вы создали проект? Я только что создал новый проект в Xcode и пришел с двумя файлами ' AppDelegate.h/m' с приложением' (void) applicationDidFinishLaunching: (NSNotification *) функция aNotification', заглушенная – catsby

+0

Aaron Hillegas - ваш друг .... – KevinDTimm

+2

Not использование файлов файлов nib намного сложнее. –

ответ

1

Это похоже на iPhone. В классе контроллера приложения переопределите метод делегата NSApplication applicationDidFinishLaunching. Если вы использовали стандартный шаблон проекта Xcode, ваш контроллер приложений уже создан в вашем Interface Builder MainMenu.xib и настроен как делегат приложения; если нет, вам нужно будет перетащить его туда и самостоятельно настроить эти соединения.

Говоря в целом, приложение OS X начинает свою жизнь в основном методе, где Cocoa автоматически настраивает цикл запуска приложения и загружает файл .xib, указанный вами в Info.plist. Этот xib обычно используется при создании вашего контроллера приложения. Переопределяя один из методов, таких как +initialize, -init, -applicationWillFinishLaunching или -applicationDidFinishLaunching (все из которых имеют несколько разное поведение), вы можете загрузить дополнительные контроллеры и наконечники с объектами, которые взаимодействуют с циклом запуска в будущую дату, поэтому вы можете продолжать выполнять код после завершения метода запуска.

Смежные вопросы