场景
-
在用
xcode
开发Cocoa
程序时, 我们一般会使用IB
来设计界面xib
. 而在xib
文件里我们往往会对用到的自定义NSView
进行绑定以便引用使用. 但是这些xib
里的object
是什么时候进行实例化并可用的?有没有消息通知. -
有没有一个方法在
xib
界面对象加载完, 绑定完,在显示界面前能通知一下呢?答案是有的.
说明
xib
文件在打包进入.app
之后会编译为二进制格式的nib
. Objective-c
为NSObject
添加一个非正式协议.这个协议只有一个方法awakeFromNib
.
如果我们想让nib
里的对象在被加载后通知,那么我们需要在接收者receiver
里实现这个方法。
@interface NSObject (NSNibAwaking)
- (void)awakeFromNib;
/* On Mac OS X 10.6 and later, NSObject provides an implementation of awake