我正在尝试构建一个超级简单的Cocoa应用程序,基本上是一个具有一个while循环的函数(例如,main()).它会做一些事情,做一个卷曲请求,然后在重新开始之前等待几秒钟.
我的项目都在XCode中设置了所有必要的变量和函数,但我不知道在哪里放置我的main()函数完成所有工作.
我在哪里定义主要功能?
Cocoa非常注重事件驱动的编程.为此,main()函数通常只启动主runloop,然后应用程序委托可以启动它想做的任何事情.也就是说,编写一个使用main()的非基于事件的可可程序当然可以做更复杂的事情.在这种情况下,它的工作原理与C中的基本相同.
Cocoa With Love刚刚发表了一篇关于Minimalist Cocoa编程的文章可能很有意思.它使用main()来做一些工作.这不是我推荐在你自己的应用程序中模拟的东西,但它肯定是可能的.
如果您根据通常的Cocoa架构设计应用程序,那么您实际上并没有将任何自己的代码放在main中.整个应用程序应该是事件驱动的(事件是来自用户的UI交互,网络事件等).
也就是说,有一个主要功能.如果您在XCode中创建了一个默认的Cocoa项目,那么main函数将位于一个名为"main.m"的文件中.它将像C中的main函数一样运行.您将看到NSApplicationMain()中有一个调用.这就是启动Cocoa应用程序运行的原因(创建应用程序,加载主nib文件,开始运行主运行循环等).NSApplicationMain()在应用程序退出之前不会返回,所以如果你真的想把东西放在main()中,你需要把它放在对NSApplicationMain()的调用之上.
再说一次,这不是正常的"可可方式",但如果没有更多关于你想做什么的信息,很难给你更多的建议.