Повторяющиеся записи NSLog
Я не знаю, могу ли я включить сюда код, который важен, так как мой проект очень большой, но есть ли типичные причины, почему NSLog
будет повторять некоторые предупреждения и вызовы к нему в тех случаях, когда происходит только один вызов / ошибка?
Как пример, у меня есть подкласс NSBox
который запускает экземпляр другого класса на awakeFromNib
:
- (void) awakeFromNib {
burbControllerInstance = [[BurbController alloc] init];
if (burbControllerInstance) {
NSLog(@"init ok");
}
}
я получил NSLog
печатая "init ok" дважды. Я не понимаю, почему этот подкласс был бы "пробужден" дважды где-нибудь в моем проекте. Это часть большой проблемы, когда я не могу получить переменные, которые возвращают что-либо, кроме nil
из класса я создаю экземпляр. Мне интересно, возможно, двойные значения как-то связаны с этим.
1 ответ
Этот пост может быть полезным, то есть один комментарий:
Также важно: awakeFromNib может вызываться несколько раз на контроллере, если вы используете один и тот же контроллер для нескольких перьев - скажем, вы используете делегата приложения в качестве владельца как окна About Box, так и диалогового окна настроек. Так что вам понадобится дополнительный защитный тест, если вы используете awakeFromNib для чего угодно, кроме инициализации объектов nib
Обновление: гораздо интереснее может быть это, где автор упоминает, что awakeFromNib
вызывается дважды. К сожалению, нет реального ответа на эту конкретную проблему, но, возможно, некоторые основные идеи.
Обновление № 2: еще одно потенциальное решение от stackru.com: View Controller дважды вызывает awakeFromNib.