一、ios程序执行顺序:
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
main.m 是程序的入口
首先,在main程序中:调用了一个UIApplicationMain()函数,创建应用程序对象。
1. 创建了一个UIApplication对象。
2. 制定了一个UIApplication的代理委托
应用程序的委托:监控程序的启动和进入后台,还有从后台进入前台
那代理委托是谁呢 ?
就是AppDelegate 程序创建的时候,我们程序里有一个类就是AppDelegate 类
3. 开启一个时间循环。(一直监听你屏幕上的事件的发生)
4. NSLog(@”%s,%d”, __FUNCTION__, __LINE__);打印这个函数名,和这个方法在第多少行上。
二、程序运行时候 方法的执行顺序是:
1.application: didFinishLunchingWithOptions
2.applicationDidBecomeActive(应用程序变为活动状态)
当按下Home键之后:(程序将要取消活动状态)
1.applicationWillResignActive
2.applicationDidEnterBackground
当在后台的程序,点击进入前台的时候触发方法:
1. applicationWillEnterForeground
2. applicationDidBecomeActive
applicationWillTerminate(程序退出调用方法)
三、ViewController 这个类是视图控制器
从alloc和init创建初始化开始
在这个类里,先调用loadView方法,然后调用viewDidLoad方法,如果没有重写loadView直接调用父类的loadView(如果里面什么也不写)就陷入了死循环。
视图将要出现的方法:viewWillAppear
视图已经出现的方法: viewDidAppear
视图将要消失: viewWillDisappear
视图已经消失: viewDidDisappear
视图销毁:dealloc
视图控制器是一个幕后的双手,控制视图的展示,特别是多个视图控制器实现跳转的时候,用到视图控制器的viewWillAppear 等一些方法。
本文详细解析了iOS程序的启动流程,包括main.m文件的作用、UIApplicationMain()函数的使用,以及应用程序生命周期中的关键方法。同时,阐述了ViewController类在iOS应用中的角色,从视图的创建、加载、显示到隐藏的全过程,以及视图控制器在管理视图切换中的作用。
1147

被折叠的 条评论
为什么被折叠?



