从iPhone OS到OSX上的cocoa

时间:2010-06-08 14:49:17

标签: iphone macos cocoa

我来自iPhone OS开发背景。我现在正在尝试为OSX编写应用程序,但我不明白OSX上的cocoa决定程序控制的位置。

我可以看到主要功能,但程序控制从哪里开始?比如说,一旦应用程序完成启动,我想以编程方式创建一个带有NSView的窗口 - 我该怎么做?没有我创建的app delegate,在iPhone OS中我会等待-(void) applicationDidFinishLaunching:(UIApplication *)application 要调用的方法。我真的不想使用Interface Builder或NIB文件来设置我的窗口/视图。我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

与iPhone大致相同。在应用程序控制器类中,覆盖NSApplication的applicationDidFinishLaunching委托方法。如果您使用标准Xcode项目模板,则您的app控制器已在Interface Builder MainMenu.xib中实例化,并设置为应用程序的委托;如果不是,你需要将它拖到那里并自己设置这些连接。

更一般地说,OS X应用程序在main方法中开始,Cocoa将自动设置应用程序的运行循环并加载您在Info.plist中指定的.xib文件。此xib通常是实例化应用程序控制器的位置。通过覆盖其中一种方法,例如+initialize-init-applicationWillFinishLaunching-applicationDidFinishLaunching(所有方法都有微妙的不同行为),您可以使用相互作用的对象加载其他控制器和笔尖使用未来日期的运行循环,以便在启动方法完成后继续执行代码。