0

我有一个基于文档的 Cocoa 应用程序。[NSBundle loadNibNamed:@"inspectorNIB" owner:self]在运行时,我通过调用(在哪里self)从包中加载一个额外的 nib NSDocument

奇怪的是,当加载包成功时,它再次调用NSDocument'awakeFromNib方法,导致不必要的第二次初始化。这是预期的行为吗?我该如何压制它?

4

1 回答 1

3

是的,-awakeFromNib如果在 nib 中引用了对象,则为每个加载的 nib 调用。如果您想避免进行两次设置,可以设置一个BOOL实例变量并进行检查:

if (!alreadyDidNibLoadStuff) {
    // do nib load stuff
    alreadyDidNibLoadStuff = YES;
}
于 2011-01-23T15:32:07.997 回答