Учтите, что вы представляете только контроллер представления, а не какой-либо связанный оконный контроллер, который вы определяете, если используете presentAsModalWindow(_ viewController: NSViewController)
ViewController становится делегатом и contentViewController окна, пока он отображается
Вы можете сделать настройки окна в viewWillAppear вашего пользовательского контроллера представления
override func viewWillAppear() {
let closeButton = view.window?.standardWindowButton(.closeButton)
closeButton?.isHidden = true
}
В viewDidLoad
свойство окна будет по-прежнему нулевым.
ЕслиВы хотите, чтобы ваш оконный контроллер сделал что-то вроде этого, вызвало мой пункт меню.
@IBAction func showMyWindowController(sender:NSMenuItem){
let storyboard = NSStoryboard(name: "Main", bundle: nil)
let windowController = storyboard.instantiateController(withIdentifier: "MyWindowController") as! NSWindowController
windowController.showWindow(self)
}
Надеюсь, это поможет