当NSWindow的IBOutlet组件被初始化时?

时间:2012-05-24 14:33:49

标签: initialization nib nswindow iboutlet

我显示模态子窗口:

NSWindowController* controller = [[NSWindowController alloc] initWithWindowNibName: @"MyWindow"];
[NSApp runModalForWindow: [controller window]];

我在窗口子类中重写initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag以设置链接到nib文件的子视图。但是这些孩子现在还没有初始化(是零)。

在哪里放置初始化代码?

1 个答案:

答案 0 :(得分:1)

nib / xib加载器创建对象(包含来自init系列的一些构造函数)并以未定义的顺序设置它们的出口。在它们全部存在并且所有出口都已设置之后,它会将awakeFromNib发送到来自nib / xib文件(接受此消息)的所有对象,因此这是执行大部分初始化的正确位置。