main.m文件

int main(int argc, char *argv[])

{

    @autoreleasepool {

        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegateclass]));

    }

}

mian.m文件有两个任务 一是创建自动释放池,二是他调用应用程序事件循环

nt argc, char *argv[]  是命令行参数,iphone不用命令行来启动程序,而是用一个公共图形用户界面运行 之所以写上为了与标准ANSIC实践保持一致,

@autoreleasepool创建一个自动释放池 

对象加到自动释放池,当对象的生命周期结束的时候,负责释放内存,如果在应用程序中创建了一个副线程,那么也需要专门为它提供一个自动释放池

UIApplicationMain为创建新的应用程序对象提供主入口点,

还创建应用程序的事件循环

form 开发秘籍P15

原文地址:https://www.cnblogs.com/leevaboo/p/3192636.html