您的位置:首页 > 移动开发 > IOS开发

IOS开发 - IOS程序的完整启动过程

2015-08-20 11:56 393 查看
[size=medium][color=red]
1. Info.plist和pch文件的作用

2. UIApplication的常见使用

3. AppDelegate的代理方法

4. UIApplication , AppDelegate , UIWindow , UIViewController 的关系

5. IOS程序的完整启动过程
[/color][/size]

﹣IOS程序的完整启动过程﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣我是分割线﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣


// 1.1程序一执行就会执行main函数

int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}

// 2.然后会执行UIApplicationMain
int UIApplicationMain(int argc, char *argv[], NSString *principalClassName, NSString *delegateClassName);

// 2.1根据参数 principalClassName 创建UIApplication对象
// 2.2根据参数 delegateClassName 创建UIApplication的delegate对象

//3. delegate对象开始处理(监听)系统事件,分两种情况(有storyboard和没storyboard)

//3-1.delegate对象开始处理(监听)系统事件(没有storyboard)

//3-1-1 程序启动完毕的时候, 就会调用代理的application:didFinishLaunchingWithOptions:方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

//3-1-2 在application:didFinishLaunchingWithOptions:中创建UIWindow
self.window = [[UIWindow alloc] initWithFrame:[[uiScreen mainScreen] bounds]];

//3-1-3 创建和设置UIWindow的rootViewController(根控制器)
CwlMainViewController *mainViewController = [CwlMainViewController alloc] init];

self.window.rootViewController = mainViewController; // 设置根控制器

//3-1-4 显示窗口
[self.window makeKeyAndVisable];

return YES;
}


//3-2.根据Info.plist获得最主要storyboard的文件名,加载最主要的storyboard(有storyboard)
// 创建UIWindow
// 创建和设置UIWindow的rootViewController
// 显示窗口



[size=large][color=red]控制器创建view的完整过程
[/color][/size]

* 控制器的view是延迟加载


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: