iOS-main.m文件

本文详细解析了iOS应用中main.m文件的作用,主要关注其内部的UIApplicationMain函数如何启动应用程序,包括创建UIApplication对象、AppDelegate对象,以及启动过程中的关键步骤,如didFinishLaunchingWithOptions方法的调用。此外,还介绍了AppDelegate类在处理系统事件中的角色。
摘要由CSDN通过智能技术生成

摘要:在ios开发中有一个文件main.m文件,本文我们主要分析这个主函数里面到底做了哪些工作和任务。转自:https://www.yunbook.vip/post/1543582623232.html

一、main.m的代码如下:

#import <UIKit/UIKit.h>
#import "AppDelegate.h"

int main(int argc, char * argv[]) {
    NSString * appDelegateClassName;
    @autoreleasepool {
        // Setup code that might create autoreleased objects goes here.
        appDelegateClassName = NSStringFromClass([AppDelegate class]);
    }
    return UIApplicationMain(argc, argv, nil, appDelegateClassName);
//第三个参数nil 相当于应用程序类字符型@"UIApplication",创建一个应用程序对象。
}

二、函数分析

在main.m文件中只有一个main()方法,且主要导入两个头文件包:UIKit.h和AppDelegate.h

UIApplication对象是应用程序的象征,每一个应用都有自己的UIApplication单例对象。通过[UIApplication sharedApplication]可以获得这个单例对象,一个iOS程序启动后创建的第一个对象就是UIApplication对象,利用UIApplication对象,能进行一些应用级别的操作。

其中在main方法中UIApplicationMain创建一个UIApplication对象。每个ios应用程序都会有且只有一个UIApplication对象,此对象也是单例,负责单例对象的维护和循环运行事件。

程序中一旦创建了某个UIApplication单例对象,对象就会一直循环下去。

通过查看上述int main()函数,发现UIApplicationMain还会创建某个指定类(也是AppDelegate)对象,并设置delegate;

并且UIApplicationMain的第三个参数是NSString类型,代表是该对象所属的类。

三、启动步骤如下:

1.main启动函数

2、创建UIApplication对象

3、创建UIApplication的delegate对象

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

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

6、在application:didFinishLaunchingWithOptions:中创建UIWindow

7、创建和设置UIWindow的rootViewController

8、开始显示窗口,呈现给用户界面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值