0

可能重复:
是否有任何理由修改 iOS 应用程序中的 main.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;
    }
4

3 回答 3

3

iOS 程序确实从一个main()函数开始,通常在一个名为main.m. 您可能无法找到此文件,因为它通常位于名为的组中Other Sources,而不是Classes大多数代码最终所在的组中。

在大多数 iOS 程序main()中,只做 call UIApplicationMain(),它创建应用程序对象并运行主事件循环。

我不知道为什么会这样做的确切细节,但我会冒险猜测,如果你在事件循环开始之前尝试调用它,很多依赖于框架的东西会中断。

于 2011-11-09T10:39:15.580 回答
0

main.m仅用作应用程序的入口点(从那里开始),整个生命周期在 Objective C 类中处理。方法application:didFinishLaunchingWithOptions:属于 Application 的委托,用于在应用程序准备好后执行代码。

ps:你应该努力提高你的英语,因为它很难阅读和理解:P

于 2011-11-09T10:42:34.537 回答
0

您可以在此处阅读有关主要功能的信息。不是你不修改主文件,你很少这样做。当我需要自定义 UIApplication 子类时,我过去修改了 main 函数。

int retVal = UIApplicationMain(argc, argv, @"CustomApplication", nil);

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

于 2011-11-09T11:01:56.610 回答