2013-04-03 36 views
-1

任何人都可以解释什么awakeFromNib(),windowDidLoad(),init()吗? 我使用的继承自NSWindowController的类,我发现优先级为 -init(),-awakeFromNib(),-windowDidLoad()。 我想知道这些方法的准确性。awakeFromNib()和windowDidLoad()

回答

2

init是第一个被调用的方法。这将初始化自身和所有的实例变量,属性等

awakeFromNibinit后调用。加载一个笔尖时,笔尖加载程序会分配并初始化所有对象,然后连接它们的所有插口和动作。由于发生这种情况的顺序,您不能在初始化程序中访问网点。你可以尝试,但他们都将是零。 连接所有插座和动作后,nib加载程序将awakeFromNib发送给nib中的每个对象。这是您可以访问网点以设置默认值或在代码中进行配置的位置。

windowDidLoad是一个委托方法,它在窗口完全加载时被调用。接收机拥有的窗口已加载后发送。默认实现什么都不做。