美文网首页
iOS 程序启动过程

iOS 程序启动过程

作者: Sinda_Liu | 来源:发表于2020-12-04 16:20 被阅读0次

程序启动过程

1、 用户打开APP,首先应该执行的是----> main.m系统文件中的main函数

return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
  • main函数中执行了一个UIApplicationMain函数,程序正常退出时UIApplicationMain函数才返回
int UIApplicationMain(int argc, char *argv[], NSString *principalClassName, NSString *delegateClassName);
  • 这个函数中有四个参数,argc、argv可以不用过多关注,主要看后面两个。
    principalClassName:指定应用程序类名(app的象征),该类必须是UIApplication(或子类)。如果为nil,则用UIApplication类作为默认值。
    delegateClassName:指定应用程序的代理类,该类必须遵守UIApplicationDelegate协议。

2、 main函数中的UIApplicationMain函数就指明了程序下一步的去向---->AppDelegate

  • UIApplicationMain函数会根据principalClassName创建UIApplication对象,根据delegateClassName创建一个delegate对象,并将该delegate对象赋值给UIApplication对象中的delegate属性
  • 接着会建立应用程序的Main Runloop(事件循环),进行事件的处理(首先会在程序完毕后调用delegate对象的application:didFinishLaunchingWithOptions:方法)

3、 iOS程序启动完毕后,创建的第一个视图控件就是---->UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,控制器的view就会显示在屏幕上。
- UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow

最后用图示意:


程序启动过程图 关系图

相关文章

  • 深入理解iOS App的启动过程

    前言 参考资料:深入理解iOS App的启动过程iOS 应用程序启动过程及原理总结iOS:App启动过程详解(不同...

  • iOS 程序 main函数之前发生什么

    主要参考:iOS程序启动->dyld加载->runtime初始化 过程iOS 程序 main 函数之前发生了什么 ...

  • iOS程序启动原理(下)

    接上篇 iOS程序启动原理(上) 下图是一个iOS程序启动的完整过程 main函数中执行了一个UIApplicat...

  • iOS程序启动-Dyld流程解析

    iOS程序启动流程概览 什么是Dyld? 它跟程序的启动有什么关系? Dyld是动态库链接器。在程序启动过程中负责...

  • UI部分-程序概要

    iOS程序概要 1. 程序的启动过程 iOS程序就是从main函数开始执行的,但是在main函数中我们其实只能看到...

  • iOS 程序启动过程

    概述 我们一般说的 APP 的启动是从 main 函数开始的,但在 main 函数执行前,程序已经执行了许多事情 ...

  • iOS程序启动过程

    程序启动的完整过程 1.main函数 2.UIApplicationMain * 创建UIApplication对...

  • iOS程序启动过程

    1.main函数。 2.UIApplicationMain · 创建UIApplication对象 ·创建UIAp...

  • IOS 程序启动过程

    应用程序启动过程: 找到main.m 文件 执行main函数 执行UIApplicationMain()函数 实例...

  • iOS程序启动过程

    一、启动完整过程 1.main函数main.m 2.UIApplicationMain 创建UIApplicati...

网友评论

      本文标题:iOS 程序启动过程

      本文链接:https://www.haomeiwen.com/subject/izkuwktx.html