nib文件加载过程

运行时会加载Nib文件,然后按照nib的描述创建对象。Nib中描述的对象,在运行时创建的过程如下:
1. 把nib和它引用的资源加载到内存中
2. unarchive nib中的对象图,并构造对象图的中的对象(unarchive就是deserialize,反序列化,从文件中生成出来对象;序列化是把对象存储到文件/内存中)
在iOS中构造nib中描述的对象会调用相关类的initWithCoder: 方法
3. Outlet连接:在iOS中,nib-loading时候会调用outlet的setValue:forKey:方法(如果outlet定义在 controller类中,那就是调用controller对象的setValue:forKey:方法,也就给controller中的outlet变 量赋值)
action连接:当生成相应的UIControl对象以后,调用它的addTarget:action:forControlEvents:方法
4. 发送awakeFromNib消息到相应的对象
在iOS中,这个消息值发送给nib-loading过程中实例化的对象。它不发消息给First responder等。
5. 显示窗口

你可能感兴趣的:(nib文件加载过程)