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 重复的NSLog条目_Objective C_Cocoa_Nslog_Awakefromnib - Fatal编程技术网

Objective c 重复的NSLog条目

Objective c 重复的NSLog条目,objective-c,cocoa,nslog,awakefromnib,Objective C,Cocoa,Nslog,Awakefromnib,我不知道我是否可以在这里包含相关的代码,因为我的项目太大了,但是有没有什么典型的原因使得NSLog会在只发生一次调用/错误的情况下重复一些警告和调用 例如,我有一个子类NSBox,它初始化awakeFromNib上另一个类的实例: - (void) awakeFromNib { burbControllerInstance = [[BurbController alloc] init]; if (burbControllerInstance) { NSLog(@"

我不知道我是否可以在这里包含相关的代码,因为我的项目太大了,但是有没有什么典型的原因使得
NSLog
会在只发生一次调用/错误的情况下重复一些警告和调用

例如,我有一个子类
NSBox
,它初始化
awakeFromNib
上另一个类的实例:

- (void) awakeFromNib {
    burbControllerInstance = [[BurbController alloc] init];
    if (burbControllerInstance) {
        NSLog(@"init ok");
    }
}
我得到
NSLog
两次打印“init ok”。我不明白为什么在我的项目中,这个子类会被“唤醒”两次。这是一个更大问题的一部分,在这个问题中,我无法让变量从我正在创建的类中返回除
nil
之外的任何内容。我想知道这两个值是否与此有关。

可能会有所帮助,I。E有一条评论:

同样重要的是:awakeFromNib可以 在网上打了多次电话 控制器,如果您使用相同的 多个NIB的控制器–例如, 您正在使用应用程序代理作为 应用程序的About Box和 “首选项”对话框。所以你需要一个 如果您使用 从笔尖上醒来,除了 初始化nib对象

更新:更有趣的可能是,作者提到
awakeFromNib
被调用两次。不幸的是,这个问题没有真正的答案,但可能有一些基本的想法


更新#2:stackoverflow.com上的另一个潜在解决方案:

您是否从该类派生?定义派生。比如,检索变量?不,我正在调用BurbController类中的一个方法,该方法更改一组仅与该类相关的变量。当该方法在自己的类中运行时,它们保存正确的数据,但当我从NSBox子类调用该方法时,它们保存“nil”。不,我不相信。在我的界面中,我只为一个对象对
NSbox
进行了子类化,并且在这一个对象中,我只否决了与
NSbox
的打印和分页相关的方法。我不知道还有什么地方会在应用程序启动时被唤醒两次。啊哈,最后一个链接帮了大忙。它给了我这样一个想法,我不需要像往常一样通过nib调色板初始化我的子类。因此,所发生的事情是,nib是由我的接口中的对象以及nib调色板中的对象启动的。这是我养成的坏习惯。谢谢你!现在我们来弄清楚为什么我的变量仍然不返回值…@bizztask:好的,这也是我在询问从该类派生时的意图。通常在这种情况下,初始化了多个对象。明白了。谢谢,我还没到这一步,所以有时候只有在把事情说得更具体一点的时候才能理解。没问题,尤其是大型项目有时会有点困难。