任何人都能解释awakeFromNib(),windowDidLoad(),init()的作用吗? 我正在使用一个继承自NSWindowController的类,我发现优先级为 -init(), - awakeFromNib(), - windowDidLoad()。 我想知道这些方法的确切表现。
答案 0 :(得分:2)
init
是第一个被调用的方法。这初始化了自我和所有的伊娃,属性等。
awakeFromNib
之后调用 init
。加载nib时,nib加载器会分配并初始化所有对象,然后连接所有出口和操作。由于发生这种情况的顺序,您无法访问初始化程序中的插座。你可以尝试,但他们都将是零。
在连接所有出口和操作之后,nib加载器将awakeFromNib发送到nib中的每个对象。您可以在此处访问插座以设置默认值或在代码中进行配置。
windowDidLoad
是一个委托方法,在窗口完全加载时调用。加载接收器所拥有的窗口后发送。默认实现不执行任何操作。