Загрузка файла NIB с помощью NSWindowController не устанавливает объекты окон или верхнего уровня - PullRequest
10 голосов
/ 13 мая 2009

У меня есть файл NIB, который я загружаю, используя NSWindowController initWindowNibName. Файл NIB содержит одно окно NSWindow. Это владелец файла класса NSWindowController. Я подключил оконную розетку от владельца файла к окну.

Когда я загружаю NIB, [windowController window] равно nil, как и массив объектов верхнего уровня. Тем не менее, я все еще могу вызвать [windowController showWindow: nil] и успешно показать окно.

Что-то здесь не похоже. Я подтвердил, что соединения и Владелец файла в порядке. Фактически, когда я смотрю на значение _owner экземпляра windowController в отладчике, я вижу, что он указывает на себя, как и ожидалось.

Есть предложения о том, что может происходить?

Спасибо!

Ответы [ 2 ]

7 голосов
/ 14 мая 2009

Когда вы говорите, [windowController window] - ноль, как вы это определяете? NIB фактически не загружается, пока не будет вызван -window в первый раз. Так что, если вы смотрите в отладчике, вы увидите _window как ноль, пока не вызовете showWindow:. После этого _window должно иметь значение, отличное от нуля.

5 голосов
/ 13 мая 2009

У вас есть подкласс NSWindowController?

Когда я делаю это, я использую NSWindowController с именем MyWindowController и вызываю initWithWindowNibName: в подклассе init

А затем установите для владельца файла указатель на класс MyWindowController.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...