包含的文件int main(int argc, char * argv[]);将首先运行,因为该main()函数是第一个运行的函数.在几乎每个Xcode模板项目中,该文件都被称为"main.m".
编辑
通常,main()Cocoa Touch应用程序的功能如下:
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}
Run Code Online (Sandbox Code Playgroud)
(替换NSApplicationMain()为UIApplicationMain()与删除自动释放池,如果你正在写一个Mac应用程序)
编辑#2
我只对从classes文件夹中首先运行的文件感兴趣
简单的答案是"应用程序委托",然后是其他所有内容.
技术上的答案是MainMenu.xib(Mac)或MainWindow.xib(iOS)文件中的任何对象将首先被实例化.通常,该文件中的对象将按照它们出现的顺序进行实例化,但我不认为这是保证的.
因此,如果您在MainWindow.xib文件中有3个自定义顶级对象,那么它们将同时被实例化(在合理范围内).首先他们的initWithCoder:方法将执行,然后一段时间后他们的awakeFromNib方法将执行(这通常是该对象最安全的"起点").
应用程序委托启动方法也会在某处发生(我相信在initWithCoder:和之间awakeFromNib).
| 归档时间: |
|
| 查看次数: |
1101 次 |
| 最近记录: |