main.m在iphone编程中的应用



可能重复:
是否有任何理由修改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程序domain()函数开始,该函数通常位于名为main.m的文件中。您可能很难找到这个文件,因为它通常在一个名为Other Sources的组中,而不是大多数代码最终所在的Classes组中。

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

我不知道为什么要这样做的确切细节,但我大胆猜测,如果你试图在事件循环开始之前调用它,很多依赖于框架的东西都会崩溃。

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

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新