Закройте XIB вне делегата - PullRequest
0 голосов
/ 16 июня 2020

На Ma c OS (не iOS) Obj- C У меня есть класс какао NSWindow, состоящий из Window01.h Window01.m и Window01.xib.

В моем AppDelegate.h У меня есть

@class Window01;

@interface AppDelegate : NSWindow {

    Window01 *window01;
}

В моем AppDelegate.m я могу открыть окно (xib) с помощью:

window01 = [[Window01 alloc] initWithWindowNibName:@"Window01"];

И я могу закрыть окно (xib) с помощью:

[window01 close];

Вот где я застрял. Я пытаюсь использовать [window01 close]; из отдельного класса (другого файла .m), который не является appdelegate

Я не могу вызвать [window01 close]; из этого другого класса. Если я это сделаю, я получаю «Использование необъявленного идентификатора 'window01'»

Если я настрою другой файл класса .h, похожий на мой appdelegate.h, с

@class Window01;

@interface OtherClass : NSImageView {
    Window01 *window01;

Он будет построен, но не закрою окно, когда я вызываю [window01 close];

Итак, мой вопрос: как я могу использовать [window01 close]; вне appdelegate (в другом файле .m). Я не уверен, нужно ли вам каким-то образом настроить второй @interface NSWindow в другом классе .h, потому что у него есть только интерфейс NSImageview? Я очень новичок и только что получаю gr asp Obj C MacOS

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