xib文件的加载过程:

 

  1.将xib文件从磁盘载入内存,有两种技术可以加载xib文件:NSBundle和UINib。

 

  2.执行unarchive和initialize操作,该过程主要由NSCoding Protocol中的initWithCoder:(NSCoder *)decoder完成。

 

  3.建立connections:Outlets和Actions。Outlets使用IBOutlet关键字标示,使用setValue:forKey:方法建立每个Outlet,所以每个Outlet的建立都会发送KVO通知。Actions使用IBAction关键字标示,替换void返回值,通过调用addTarget:action:forControlEvents:方法建立每个Action连接。注意,这里构建Outlets和Actions是有先后顺序的,先建立Outlets连接,随后建立Actions连接。因为,Actions的建立依赖之前建立的Outlets。

 

  4.调用awakeFromNib方法,首先要调用super的awakeFromNib方法,之后可以设置一些个性化的操作,以及一些无法在设计时设定的操作。注意,awakeFromNib消息只发往在Interface Builder中指定的Custom Class,不会发送给Files's Owner,First Responder等占位对象。