2010-06-08 30 views
1

可可我来自一个iPhone OS的开发背景。我现在正在尝试为OSX编写应用程序,但我不明白OSX上的可可在哪里决定程序的控制权。从iPhone OS对OSX

我能看到的主要功能,但哪里程序控制从那里走?举例来说,一旦应用程序启动完成后,我想以编程方式创建一个窗口,其中包含一个NSView - 我该怎么做?没有创建应用程序委托,我可以看到,在iPhone OS中,我将等待调用方法-(void) applicationDidFinishLaunching:(UIApplication *)application 。我真的不想使用Interface Builder或NIB文件来设置我的窗口/视图。我将如何去做这件事?

+0

您是如何创建项目的?我只是在Xcode中创建一个新的项目,并带着两个文件' AppDelegate.h/M'用'(无效)的applicationDidFinishLaunching:(NSNotification *)aNotification'功能存根 – catsby 2010-06-08 15:02:36

+0

亚伦Hillegas是你的朋友.... – KevinDTimm 2010-06-08 15:06:29

+2

不使用一个nib文件使得复杂得多。 – 2010-06-08 15:09:13

回答

1

这是许多像iPhone一样。在您的应用程序控制器类中,覆盖NSApplication的applicationDidFinishLaunching委托方法。如果您使用标准Xcode项目模板,则您的应用程序控制器已经在Interface Builder MainMenu.xib中实例化并设置为应用程序的委托;如果不是的话,你需要在那里拖动它并自己设置这些连接。

说到更一般地,OS X的应用程序开始在主要方法,其中可可会自动设置您的应用程序的运行循环,并加载在Info.plist中指定的.xib文件其使用寿命。这个xib通常是你的应用程序控制器实例化的地方。通过重写的方法之一,如+initialize-init-applicationWillFinishLaunching-applicationDidFinishLaunching(它们都具有细微不同的行为),你可以加载额外的控制器和豆瓣有与在未来某一日期的运行循环交互的对象,这样你就可以继续执行代码启动方法结束后。