main函数的作用
main函数是程序的启动入口,在ios app中,main函数的功能被最小化,他的主要工作交给了UIKit framework
#import <UIKit/UIKit.h>
#import "QYAppDelegate.h"
int main(int argc, char * argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([QYAppDelegate class]));
}
}
在main函数里面执行了一个UIApplicationMain函数。
argc, argv,直接交给UIapplicationMain进行相关处理即可。第三个参数确定主要应用程序类的名称,如果这个参数是nil,这样就会使用UIApplication类创建对象。第四个参数是程序自定义的代理类名
理解:UIApplicationMain的三件事:
1 根据第三个参数创建UIApplication对象
2 根据第四个参数确定应用程序的delegate
3 设置主事件循环(main event loop 可以认为这是一个死循环,他不断的检测事件队列中是否有事件需要处理,当他监听到系统事件时,就会通知UIApplication对象的代理delegate对象)包括application的run loop,同时开始处理事件 当程序加载完毕后调用(只调用一次)application:didFinishLaunchingWithOption:方法。