Второе окно OS X не останется открытым
Я хочу открыть второе окно в качестве редактора контента для некоторых полей в главном окне моего приложения. Я создал собственный NSWindowController (называемый ItemEditor) со своим собственным пером.
Я открываю новое окно с этим кодом:
ItemEditor *editor = [[ItemEditor alloc] initWithWindowNibName:@"ItemEditor"];
[editor showWindow:nil];
[editor.window makeKeyAndOrderFront:nil];
Новое окно появляется на мгновение, а затем сразу исчезает. Оба initWithWindow:
а также windowDidLoad
ItemEditor называются, но windowWillClose:
нет.
Кто-нибудь может сказать мне, что здесь происходит? Я в тупике.
1 ответ
То, что происходит, это то, что вы используете ARC... и ничто не держит наeditor
"объект после того, как он создан. Вот почему он исчезает, как только он создается.
Вам нужно сделатьeditor
"а"strong
msgstr "свойство в родительском контроллере окна.
Другими словами, объявите это так в файле.h родительского контроллера:
@property (strong) ItemEditor *editor;
И замените первую строку вашего фрагмента кода выше на это:
self.editor = [[ItemEditor alloc] initWithWindowNibName:@"ItemEditor"];