在iphone编程中使用main.m.

时间:2011-11-09 10:34:10

标签: iphone objective-c main uiapplication

  

可能重复:
  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;
    }

3 个答案:

答案 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);

在一般编程中,你永远不需要修改主类,但是如果你有任何特殊要求,你可以继续这样做。