[[NSApp windows] makeObjectsPerformSelector:@selector(close)];
- это программный способ закрыть все окна, но на самом деле это не очень хороший дизайн, потому что пользователь не ожидает, что Command + W закроет все окна приложения. Вот для чего нужны Command + Option + W.
Если у вас есть приложение на основе документов, вы можете изменить дополнительное окно на экземпляр NSPanel
, а затем проверить атрибут «Модальное документа». Таким образом, когда ваше окно документа закрывается, вспомогательное окно также закрывается.
Если это не приложение на основе документов, вы можете проверить атрибут окна «Скрыть при деактивации», который будет скрывать окно, когда приложение переходит в фоновый режим.
Кроме этого, если вы хотите "связать" два окна вместе, я думаю, вам нужно установить NSWindowDelegate и вручную поддерживать их состояние относительной видимости. Имеет ли это смысл?