【问题标题】:When IBOutlet components of NSWindow are initialized?NSWindow 的 IBOutlet 组件什么时候初始化?
【发布时间】:2012-05-24 14:33:48
【问题描述】:

我显示模态子类窗口:

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

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

在哪里放置我的初始化代码?

【问题讨论】:

    标签: initialization nib nswindow iboutlet


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-13
      • 2016-12-10
      • 2012-03-10
      • 1970-01-01
      相关资源
      最近更新 更多