1.点击程序图标,打开程序
2.执行main函数,分析如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
int main( int
argc, char
* argv[])
{ @autoreleasepool
{
/*
argc: 系统或者用户传入的参数个数
argv: 系统或者用户传入的实际参数
*/
// return UIApplicationMain(argc, argv, nil, NSStringFromClass([NJAppDelegate class]));
// return UIApplicationMain(argc, argv, @"UIApplication", NSStringFromClass([BLAppDelegate class]));
/*
1.根据传入的第三个参数创建UIApplication对象
2.根据传入的第四个产生创建UIApplication对象的代理
3.设置刚刚创建出来的代理对象为UIApplication的代理
4.开启一个事件循环
*/
return
<span style= "color: rgb(255, 0, 0);" >UIApplicationMain</span>(argc, argv, @ "UIApplication" , @ "BLAppDelegate" ); //3 、4 步骤
}
} |
3.执行UIApplicationMain函数
4.创建UIApplication对象、UIApplication的delegate对象
5.开启事件循环监听系统事件
6.程序加载完毕后调用delegate对象的application:didFinishLaunchingWithOptions:方法
1> 创建窗口对象
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
2> 创建控制器对象
self.viewController = [[BLViewController alloc] initWithNibName:@"BLViewController" bundle:nil];
3> 设置窗口的根控制器
self.window.rootViewController = self.viewController;
4> 让窗口成为主窗口、并且可见
[self.window makeKeyAndVisible];