Как закрыть окно (выгрузить NIB)? - PullRequest
3 голосов
/ 15 апреля 2010

У меня есть пользовательский подкласс NSWindowController, который загружает файл NIB во время инициализации, например:

self = [super initWithNibNamed:@"myNib"];
if (self != nil) {
    [self window];
}

Перо содержит некоторые пользовательские представления и некоторые другие элементы управления. NSWindowController является владельцем файла, и по крайней мере одно из представлений даже связывается с ним.

Просто, что мне нужно сделать, чтобы закрыть и выпустить это окно? Я провожу весь день, пытаясь понять это, и все еще не знаю.

Ответы [ 2 ]

13 голосов
/ 22 июля 2010

Спасибо @peter Хули.

[self close]; // will work only if your nib is wired up correctly.

Откройте перо для вашего файла. В окне вам необходимо подключить «Ссылочный выход» окна к «Владельцу файлов» и выбрать «Окно». В противном случае ничего не получится.

6 голосов
/ 16 апреля 2010

Вы не разгружаете перо; «Загрузка» - это просто разархивирование объектов, которые в нем заархивированы. Это не состояние, которое сохраняется бесконечно; это мгновенное действие. Разархивировав объект, не имеет значения, откуда он взялся.

Если вы не были в оконном контроллере, то:

Но, поскольку вы находитесь в контроллере окна, просто отправьте себе close сообщение .

См. Также «Поведение при закрытии окна» в Обзоре приложений на основе документов (приложения на основе документов являются основными пользователями контроллеров окон).

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