Повторяющиеся записи NSLog - PullRequest
2 голосов
/ 30 апреля 2011

Я не знаю, возможно ли для меня включить сюда код, который имеет отношение к делу, поскольку мой проект настолько велик, но есть ли типичные причины, по которым NSLog будет повторять некоторые предупреждения и обращения к нему в тех случаях, когда только один вызов / ошибка происходит?

Например, у меня есть подкласс NSBox, который помещает экземпляр другого класса в awakeFromNib:

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

Я получаю NSLog, печатая "init ok" дважды. Я не понимаю, почему этот подкласс был бы "пробужден" дважды где-нибудь в моем проекте. Это часть большой проблемы, когда я не могу заставить переменные возвращать что-либо, кроме nil из класса, экземпляр которого я создаю. Мне интересно, может быть, двойные значения как-то связаны с этим.

1 Ответ

3 голосов
/ 01 мая 2011

Этот пост может быть полезен, то есть один комментарий:

Также важно: awakeFromNib может вызываться несколько раз на контроллере, если вы используете один и тот же контроллер для нескольких перьев -Допустим, вы используете делегата приложения в качестве владельца как окна «О программе», так и диалогового окна настроек.Поэтому вам понадобится дополнительный защитный тест, если вы используете awakeFromNib для чего-либо, кроме инициализации объектов пера

Обновление: Гораздо интереснее также может быть this где автор упоминает, что awakeFromNib называется дважды .К сожалению, нет реального ответа на эту конкретную проблему, но, возможно, некоторые основные идеи.

Обновление № 2: Другое потенциальное решение от stackoverflow.com: View Controller вызывает awakeFromNib дважды.

...