11.2.1 初始化
UIViewController提供了两个标准的初始化方法:init(nibName:bundle:)和init?(coder aDecoder: NSCoder)。前者在开发者使用纯代码或者XIB文件自定义的视图控制器初始化时被调用,而后者则是开发者使用storyboard自定义的视图控制器初始化时被调用。
在视图控制器初始化完成之后系统会建立nib或storyboard中与代码中属性和动作有链接的对象。当这些链接建立完成之后,会调用awakeFromNib方法。如果开发者自定义了一个视图控制器,并且覆写了此方法,一定要调用父类中的该方法。一般不建议开发者在初始化的方法中编写一些额外的代码,而是在awakeFromNib中编写,这样能够保证视图控制器的初始化一定是成功的,并且已经准备就绪。