重复的NSLog条目

时间:2011-04-30 19:46:52

标签: objective-c cocoa nslog awakefromnib

我不知道我是否可以在这里包含相关的代码,因为我的项目非常大但是有任何典型的原因NSLog会重复一些警告并在只有一个的情况下调用它电话/错误正在发生?

作为一个例子,我有一个NSBox的子类,它在awakeFromNib上的另一个类的实例中:

- (void) awakeFromNib {
    burbControllerInstance = [[BurbController alloc] init];
    if (burbControllerInstance) {
        NSLog(@"init ok");
    }
}

我得到NSLog两次打印“init ok”。我不明白为什么这个子类会在我的项目中的任何地方被“唤醒”两次。这是一个更大问题的一部分,我无法从我正在创建实例的类中获取除nil之外的任何变量。我想知道是否可能是双重值与它有关。

1 个答案:

答案 0 :(得分:3)

This post可能会有所帮助,我。即一条评论:

  

同样重要的是:awakeFromNib可以   在...上多次调用   控制器,如果你使用相同的   几个笔尖的控制器 - 比方说,   你正在使用app delegate作为   应用程序的关于Box和的所有者   偏好对话框。所以你需要一个   如果你使用额外的防护测试   awakeFromNib除了   初始化nib对象

更新:更有意思的还有this,其中作者提到awakeFromNib被称为两次。不幸的是,对于这个特殊的问题没有真正的答案,但也许是一些基本的想法。

更新#2: stackoverflow.com的另一个潜在解决方案:View Controller calls awakeFromNib twice.