我有一个基于文档的Cocoa应用程序。在运行时,我通过调用[NSBundle loadNibNamed:@"inspectorNIB" owner:self] (其中self是NSDocument)从包中加载一个额外的nib。
奇怪的是,当加载包成功时,它再次调用NSDocument的awakeFromNib方法,导致不必要的第二次初始化。这是预期的行为吗?我如何抑制它?
发布于 2011-01-23 23:32:08
是的,如果对象在nib中被引用,则会为加载的每个nib调用-awakeFromNib。如果您希望避免执行两次设置,可以设置一个BOOL实例变量并执行检查:
if (!alreadyDidNibLoadStuff) {
// do nib load stuff
alreadyDidNibLoadStuff = YES;
}https://stackoverflow.com/questions/4774419
复制相似问题