Ответ 1
Во-первых, имя инициализатора не -initWithNibName:
, а -initWithWindowNibName:
.
Во-вторых, и это верно, если вы используете ARC, ваше окно выходит из foom, потому что у вас нет сильной ссылки для вашего экземпляра NSWindowController
. Когда метод заканчивается, значит, и ваша ссылка.
Если, скажем, вы должны сделать это вместо этого в интерфейсе делегирования приложения:
@property(strong) NSWindowController *winCon;
И синтезировал его в вашем файле реализации:
@synthesize winCon;
Тогда вы можете настроить следующее:
self.winCon = [[NSWindowController alloc] initWithWindowNibName:@"NewWindow"];
[self.winCon showWindow:self];
Теперь ваше окно не исчезнет. Контроллер окна будет выпущен, когда приложение закроется.