可能重复:
是否有任何理由修改iOS应用程序中的主.m文件?
我是iphone应用程序开发的新手,我想知道为什么我们不在iphone编程中积极使用main.m文件。我在许多书中看到了以下用法:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:
int main(int argc, char *argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}
iOS程序do从main()
函数开始,该函数通常位于名为main.m
的文件中。您可能很难找到这个文件,因为它通常在一个名为Other Sources
的组中,而不是大多数代码最终所在的Classes
组中。
在大多数iOS程序中,main()
只调用UIApplicationMain()
,后者创建应用程序对象并运行主事件循环。
我不知道为什么要这样做的确切细节,但我大胆猜测,如果你试图在事件循环开始之前调用它,很多依赖于框架的东西都会崩溃。
main.m仅用作应用程序的入口点(从那里开始(,整个生命周期在Objective C类中处理。方法应用程序:didFinishLaunchingWithOptions:属于应用程序的委托,用于在应用程序就绪后执行代码。
ps:你应该努力提高你的英语,因为它很难阅读和理解:p
您可以在此处阅读有关主函数的信息。这并不是说你不修改主文件,你很少这样做。在过去,当我需要一个自定义的UIApplication子类时,我已经修改了主函数。
int retVal = UIApplicationMain(argc, argv, @"CustomApplication", nil);
在一般编程中,您永远不需要修改主类,但是如果您有任何特殊要求,您可以继续这样做。