ViewController
一、结构
按照结构,ViewController分为两类:
1、主要用于显示界面,展示内容。如:UITableViewController,一般的UIViewController。
2、用于管理其他的ViewController。一般都是ViewController的容器。比如UINavigationController,UITabbarController,都有一个viewControllers属性,用来存放其管理的ViewController。所有的ViewController可以增加子ViewController,属性 childViewControllers 用来管理子视图控制器。
- 1.NavigationController :表示为Stack结构(栈),先进后出。push 新vc 入栈操作。pop vc 出栈操作。(pop后页面才会被释放,且无法pop 根vc)
2.TabbarController:表示Array结构。管理的ViewController是并列的。跟随TabbarController的生命周期。
3.父试图控制器:有自身的View,没有具体结构,灵活使用。
4.PageViewController 等VC就不多说了
二、生命周期
视图控制器的View用的是懒加载。
当调用get方法时候才会加载(loadView),view加载后才会执行viewDidLoad。
当view被添加到其他view中之前时,调用viewWillAppear方法,然后调用viewDidAppear。
当view从其他的view中移除之前,调用viewWillDisAppear,然后调用viewDidDisappear。
当view不再使用,而且是已经消失 disappeared,收到内存警告。view释放,并指向nil。