有人能解释一下awakeFromNib()、windowDidLoad()、init()做什么吗?我使用从NSWindowController继承的类,发现优先级为-init()、-awakeFromNib()、-windowDidLoad()。我想知道这些方法到底执行了什么。
发布于 2013-04-03 07:02:53
init是第一个被调用的方法。这将初始化self和所有的象牙人、属性等。
awakeFromNib是在init之后调用的。当加载一个nib时,nib加载器将分配和初始化所有对象,然后将它们的所有出口和操作连接起来。由于发生这种情况的顺序,您无法在初始化器中访问出口。你可以试一试,但它们都是零。在连接所有出口和操作之后,nib加载程序将awakeFromNib发送到nib中的每个对象。在这里,您可以访问出口来设置默认值或在代码中进行配置。
windowDidLoad是一个委托方法,在完全加载窗口时调用该方法。在加载接收方拥有的窗口后发送。默认实现什么也不做。
https://stackoverflow.com/questions/15780829
复制相似问题