可能重复:
Is there any reason to modify the main.m file in your iOS applications?
我是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;
}
答案 0 :(得分:3)
iOS程序执行从main()
函数开始,通常位于名为main.m
的文件中。您可能无法找到此文件,因为它通常位于名为Other Sources
的组中,而不是大多数代码结束的Classes
组。
在大多数iOS程序中,main()
只会调用UIApplicationMain()
,后者会创建应用程序对象并运行主事件循环。
我不知道为什么会这样做的确切细节,但是如果你试图在事件循环开始之前调用它,我会猜测很多与框架相关的东西会破坏。
答案 1 :(得分:0)
main.m 仅用作应用程序的入口点(从那里开始),整个生命周期在Objective C类中处理。 方法 application:didFinishLaunchingWithOptions:属于Application的委托,用于在应用程序准备好后执行代码。
ps:你应该尝试提高你的英语水平,因为它很难阅读和理解:P
答案 2 :(得分:0)
您可以阅读主要功能here。这不是你不修改主文件,你很少这样做。当我需要一个自定义的UIApplication子类时,我已经修改了main函数。
int retVal = UIApplicationMain(argc, argv, @"CustomApplication", nil);
在一般编程中,你永远不需要修改主类,但是如果你有任何特殊要求,你可以继续这样做。