У меня есть подкласс NSWindowController
с ассоциированным файлом xib. Из моего приложения делегат я показываю это, используя следующий код:как ссылаться на окно, связанное с nswindowcontroller
if(!wc)
wc = [[NSWindowController alloc]initWithWindowNibName:@"MyNewWindowController"];
[wc showWindow:nil];
Это показывает окно. Теперь я хочу ссылаться на это окно в новом оконном контроллере, но не могу понять, как это сделать. В частности у меня есть кнопка на новом окне, и я хочу написать что-то вроде:
- (IBAction)doStuffAndCloseWindow:(id)sender
{
[self doSomeStuff];
[*window* orderOut:nil];
}
Я попытался создать переменное окно (например, созданные в AppDelegate), но компилятор говорит моя переменная окно является частным.
Так что я объявляю и ссылаюсь на окно в своем MyNewWindowController.m
?
Благодаря
Спасибо за это. Да «doStuffAndCloseWindow» является частью моего подкласса контроллера NSWindow. Код компилируется нормально, но я получаю следующее сообщение об ошибке «Не удалось подключить действие doStuffandCloseWindow: для целевого класса NSWindowController ». Я не понимаю, как владелец файла имеет тип MyNewWindowController (мой подкласс). Есть предположения? – stupot
В вашем раскадровке или файле XIB вам необходимо изменить пользовательский класс вашего оконного контроллера из NSWindowController на ваш подкласс «MyNewWindowController». –
Большое спасибо. Все это имеет смысл сейчас! Извините, я не могу ответить на ваш ответ, у меня пока нет достаточных знаний – stupot