我是mac os X开发新手,我下载了一个开源mac应用程序,但我无法理解cocoa程序的执行流程。任何人都可以简单地解释一般cocoa程序的程序流程
提前致谢
答案 0 :(得分:5)
从main
开始。它不太可能包含任何有趣的东西,但值得检查以防万一。最有可能的是,它只包含对NSApplicationMain
的调用,它将创建NSApplication对象并向其发送run
消息。这就是应用程序运行的原因,这个方法将在剩下的剩余流程中运行。
然后查看MainMenu笔尖。加载这是应用程序将要做的第一件事。这里设置为“发射时可见”的任何窗口都会立即出现;更重要的是,应用程序代表可能会在这里。检查应用程序或文件所有者(应用程序是这两个应用程序,因此您需要检查两者)delegate
插座,如果其中一个已连接,请按照连接进行操作。查看该对象是哪个类的实例。
找到应用程序委托类后,在Xcode中打开它。查看the list of application delegate methods并找出实现的内容,然后阅读那些内容。 application:…FinishLaunching:
双胞胎在这个过程开始时尤其重要。
从那里开始,只需阅读代码,了解它的作用,并将它带到你需要的地方。
答案 1 :(得分:1)
彼得的答案很好 - 我还要说检查'awakeFromNib'的实现,特别是对于从MainMenu.nib加载的对象。你经常会在这种方法中找到有趣的东西,无论是对还是错。