zoukankan      html  css  js  c++  java
  • iOS 程序启动完整过程

    1.首先执行main函数

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

    ios开发文档上对这个main函数是如下解释的。

    This function is called in the main entry point to create the application object and the application delegate and set up the event cycle.

    这个函数是创建application对象和application的delegate对象,设置事件循环的主要入口点。

    第三个参数,是UIApplication类名或者是其子类名,如果是nil,则就默认使用UIApplication类名。

    第四个参数是协议UIApplicationDelegate的实例化对象名,如果是nil,则从main nib文件中加载委托对象。这个对象就是UIApplication对象监听到系统变化的时候通知其执行的相应方法。

    2.创建UIApplication对象和UIApplication的delegate对象,开启事件循环(appdelegate开始处理响应事件)

    3.创建UIWindow对象,设置为appdelegate的window属性

    4.根据info.plist加载storyboard

    5.将storyboard的箭头指向的控制器设置为UIWindow的rootViewController

    6.展示界面

  • 相关阅读:
    Python 操作 Azure Blob Storage
    @private、@protected与@public三者之间的区别
    iOS设计模式
    NSMapTable、NSHashTable与NSPointerArray的封装
    iOS设计模式
    用UITextView加载rtfd文件
    UIWebView如何加载本地图片
    [翻译] BezierString
    [翻译] AYVibrantButton
    用NSOperation写下载队列
  • 原文地址:https://www.cnblogs.com/heyuanbo/p/5203668.html
Copyright © 2011-2022 走看看