Борьба с выходом окна NSWindowController

Я уверен, что это действительно простая проблема, но я вырываю из нее волосы!

У меня есть подкласс NSWindowController под названием WinAController. Это было создано в IB и находится в MainMenu.xib.

У меня есть отдельное перо под названием WinA.xib, которое содержит только одно окно. В этом наконечнике я установил следующее:

  1. Класс владельца файла WinAController
  2. Свойство window владельца файла для WinA
  3. Делегат WinA для WinAController (который реализует протокол NSWindowDelegate).

Я подключил пункт меню MainMenu к методу -showWindow WinAController, чтобы при нажатии WinA отображалась, но ничего не происходило. Похоже, что свойство window WinAController не устанавливается.

Где я ошибаюсь? Нужно ли мне инициализировать WinAController с помощью WinA.xib в какой-то момент кода, чтобы установить это?

Спасибо,


person Garry Pettet    schedule 20.05.2010    source источник


Ответы (2)


Это, вызванное из WinAController, похоже, работает отлично:

- (id)init {
// Load our window from the nib
self = [super initWithWindowNibName:@"WinA"];

// Now we're initialised - return us
return self;
}
person Garry Pettet    schedule 20.05.2010

Гарри, у меня была аналогичная проблема с диалоговым окном, использующим код из вашего ответа выше. Я мог один раз отобразить диалоговое окно, но после этого он больше никогда не отображался (у меня было простое тестовое приложение с окном с кнопкой для отображения диалогового окна). Я продолжал видеть ответы с такими словами: «Подключите оконный выход на объекте File's Owner к окну в вашем наконечнике», но не мог понять, как это сделать. Похоже, это часть того, о чем вы спрашиваете.

Вот что я понял: Наряду с вашим решением вам также необходимо выполнить шаги по этой ссылке - Подключить выход оконного контроллера к окну

person GTAE86    schedule 01.02.2012