在控制台应用程序中,通常会有一个主文件,您可以在其中键入您希望程序执行的操作。在事件驱动的GUI程序中,您有每个函数的事件处理程序(例如在Visual C#Windows窗体中)。
在Cocoa GUI应用程序中,我没有看到可以创建变量和运行命令的集中位置。例如,我可以创建一个新类并定义其所有成员函数和数据,但我没有地方实际创建该类的新对象。我在哪里放置“实际程序”?我找不到一个文件,程序的所有部分都放在一起,我似乎只能定义类。存在一个主文件和函数,但它们不应该被使用 - main()
只是启动应用程序。
这是如何工作的?我在哪里放我的程序代码?
答案 0 :(得分:5)
Cocoa是一个事件驱动的环境,在很多方面都像.NET一样。在绝大多数情况下,系统会打电话给你而不是你打电话给你。因此,就像你使用C#一样,你将会进入各个地方并等到你被召唤为止。
有两个主要的地方你要把你的创业“事情”。首先是Storyboard或主nib文件(故事板是iOS 5中的新功能)。在程序启动时,将自动创建在主nib文件(或Storyboard)中创建的任何对象。然后,他们可以回复awakeFromNib
和viewDidLoad
等方法。
另一个重要的地方是申请代表。这不是所有程序的主页,但它通常是运行的第一段“你的”代码。特别是,您希望将启动代码添加到applicationDidFinishLaunching:withOptions:
。
在继续之前,我建议您花一些时间在iOS Starting Point文档中。如果您想稍微跳过一点,可以转到iOS App Programming Guide。 (我假设你问的是iOS,因为大多数人都这么做。如果你想要Mac,它就非常相似。从Your First Mac App开始。)
一旦你对某些事情有所了解,Apple的文档就会非常好。而且Cocoa非常一致(再次,一旦你对与的一致性有所了解)。请务必阅读标有“编程指南”的文档,而不仅仅是参考文档。当您阅读参考文档时,请务必阅读顶部的段落。如果你只是跳到所有的方法解释,你将跳过大部分有用的信息。答案 1 :(得分:1)
通常,项目中有一个main.m文件。
Xcode为iOS App生成的默认值:
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([MPAppDelegate class]));
}
}