import UIKit
class ViewController: UIViewController {
//1.通过代码创建对象时调用
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
print("ViewController::init(nibName:bundle:)")
}
//通过Storyboard创建对象时自动调用
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
print("ViewController::init(coder:)")
}
//2.Storyboard中创建的,如果代码创建不被调用
override func awakeFromNib() {
super.awakeFromNib()
print("ViewController:awakeFromNib()")
}
//3.加载self.view
//唯一一个可以更换self.view的位置
//必须需要在里面创建self.view
// override func loadView() {
// print("ViewController:loadView()")
//
// let v = UIView()
// v.backgroundColor = UIColor.greenColor()
// self.view = v
// }
//UITableViewController
//4.
//self.view已经被创建
override func viewDidLoad() {
super.viewDidLoad()
print("ViewController::viewDidLoad()")
}
//5. 页面将要显示
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
print("ViewController::viewWillAppear(:)")
}
//6. 将要开始布局
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
print("ViewController::viewWillLayoutSubviews()")
}
//7. 布局完成
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
//可以获取自动布局控件的真实位置和大小
print("ViewController::viewDidLayoutSubviews()")
}
//8. 页面已经显示
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
print("ViewController::viewDidAppear(:)")
}
//页面将要消失
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
print("ViewController::viewWillDisappear(:)")
}
override func viewDidDisappear(animated: Bool) {
super.viewDidDisappear(animated)
print("ViewController:viewDidDisappear(:)")
}
deinit {
print("deinit")
}
}
![](https://img.haomeiwen.com/i2455916/3db5118132074712.png)
可以明显看到系统显示一个页面的每一个步骤
点击一个Button,跳转到下一个页面,查看步骤。
![](https://img.haomeiwen.com/i2455916/98f508e3834318ac.png)
再返回第一个页面
![](https://img.haomeiwen.com/i2455916/a64b5220d9b9d587.png)
网友评论