Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 奇怪的行为_Objective C_Cocoa_Nib_Nsdocument_Nsbundle - Fatal编程技术网

Objective c 奇怪的行为

Objective c 奇怪的行为,objective-c,cocoa,nib,nsdocument,nsbundle,Objective C,Cocoa,Nib,Nsdocument,Nsbundle,我有一个基于文档的Cocoa应用程序。在运行期间,我通过调用[NSBundle loadNibNamed:@“inspectorNIB”owner:self](其中self是NSDocument)从bundle中加载一个额外的nib 奇怪的是,当加载包成功时,它再次调用NSDocument的awakeFromNib方法,导致不必要的第二次初始化。这是预期的行为吗?如何抑制它?是的,如果对象在nib中引用,则为加载的每个nib调用-awakeFromNib。如果要避免执行两次设置,可以设置BOOL

我有一个基于文档的Cocoa应用程序。在运行期间,我通过调用
[NSBundle loadNibNamed:@“inspectorNIB”owner:self]
(其中
self
NSDocument
)从bundle中加载一个额外的nib


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

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

if (!alreadyDidNibLoadStuff) {
    // do nib load stuff
    alreadyDidNibLoadStuff = YES;
}

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

if (!alreadyDidNibLoadStuff) {
    // do nib load stuff
    alreadyDidNibLoadStuff = YES;
}