Мне сказали, что awakeFromNib следует вызывать только один раз, поэтому я был очень удивлен, увидев, что он вызывался дважды для моего WindowController.Я использую IB для создания моего WindowController в MainMenu.xib, но чтобы сообщить ему, какой файл xib окна загрузить, я добавил к нему метод init.
Когда я отлаживаю код, я нахожу первый вызов awakeFromNib, вызванныйэтим стеком вызовов.Таким образом, в основном [MyWindowController init] запускает первый вызов.Тогда второй вызов, я думаю, был из-за загрузки MainMenu.xib.Это правильно?
Может кто-нибудь пролить свет на это?
Кстати, я прочитал некоторые другие вопросы, похожие на мои, по переполнению стека, и некоторые ответили, что это может произойти из-за проблемы с файлом.Поэтому я особенно меняю владельца файла xib-файла окна на NSApplication.Но awakeFromNib все еще вызывался дважды для MyWindowController.
![enter image description here](https://i.stack.imgur.com/efq6s.jpg)