1.每一个应用程序都有属于自己的UIWindow,UIWindow继承自UIView
2.UIView面临的问题:
1.谁来控制UIView之间的切换?
2.谁来管理UIView的生命周期?
3.谁来给UIVIew装配数据?
4.谁来监听UIView的事件?
上面三个问题的答案都是:UIViewController
IOS核心类
- UIView:视图,屏幕上能看得见摸得着的东西都是UIView,比如按钮、文本标签、表格
- UIViewController:内部默认都有个UIView视图,负责管理UIView的生命周期、装配数据到UIView上显示、处理UIView时间
- IOS的设计采取了MVC模式(模式、视图、控制器)
IOS程序的运行原理:
1.首先执行main函数
2.执行UIApplicationMain函数
3.UIApplicationMain函数内部
1.创建一个UIApplication实例。这个UIApplication对象是单例的,一个ios程序对应一个UIApplication
实例
2.UIApplication对象是应用程序的象征
3.开启一个消息循环(main loop)
4.再创建一个UIApplication的delegate对象,负责监听UIApplication的生命周期
5 .当UIApplication的生命周期发生变化的时候,会给delegate发送不同的消息
4.UIApplication函数的参数:
第4个参数用来指定UIApplication的代理
第3个参数用来指定UIApplication的类名(或者子类),如果为nil,默认就是UIApplication
每一个新界面都是一个新的UIView,在切换过程中,涉及到了:
- UIView的创建和销毁
- UIView跟用户的交互(处理UIView内部每一行的点击)
UIViewController
- 其实,每当显示一个新界面时,首先会创建一个新的UIViewController对象,然后创建一个对应的全屏UIView,UIViewController负责管理这个UIView
- UIViewController就是UIView的大管家,负责创建、显示、销毁UIView,负责监听UIView内部的时间,负责处理UIView与用户的交互
- UIViewController内部有个UIView属性,就是它负责管理的UIView对象:@property(nonatomic,retain) UIView *view;
所以当我们要监听按钮,进度条、slider、等的事件时,我们都要交给控制器UIViewControllre去监听
时间: 2024-10-12 23:43:48