• iOS程序启动原理


    关于iOS的启动过程,之前也是一知半解,查了一些资料,总结如下。

    首先,放一张流程图。摘自网络图片(侵权删)

    1.main函数

    2.UIApplicationMain

    * 创建UIApplication对象

    * 创建UIApplication的delegate对象

    --------没有storyboard--------- 

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

    * 程序启动完毕的时候, 就会调用代理的application:didFinishLaunchingWithOptions:方法

    * 在application:didFinishLaunchingWithOptions:中代码创建UIWindow

    * 创建和设置UIWindow的rootViewController

    * 显示窗口

    --------有storyboard--------- 

    3.根据Info.plist获得最主要storyboard的文件名,加载最主要的storyboard(有storyboard)

    * sb创建UIWindow

    * 创建和设置UIWindow的rootViewController

    * 显示窗口

    这里可能有个误区:

    不管设不设置Main Interface,代码都会走application:didFinishLaunchingWithOptions方法,只是设置uiwindow的方式有区别而已。

    1、有设置,系统会直接取plist设置的界面控制器。

    2、不设置,系统会在application:didFinishLaunchingWithOptions这里查找uiwindow。

  • 相关阅读:
    pexpect模块
    Python正则表达式
    telnetlib
    paramiko
    threadpool和Queue
    logging
    Python异常
    Python迭代器
    程序员工资那么高,却从不炫富?网友回复让人“笑喷了”!
    小白到web前端工程师需要学习哪些知识?
  • 原文地址:https://www.cnblogs.com/yajunLi/p/6268805.html
Copyright © 2020-2023  润新知