Я пишу NSApplication (Swift 5.0, Storyboard, MacOS) с несколькими windows. Я борюсь с Manu.
Я хочу, чтобы MenuItem закрывал все открытые windows и открывал новое окно с MainFrame приложения.
Для этого я подключил MenuItem к следующему действию в AppDelegate:
@IBAction func menuMain(_ sender: Any) {
let windowController1 = NSApplication.shared.orderedWindows
for windows in windowController1 {
windows.close()
}
let mainStoryBoard = NSStoryboard(name: "Main", bundle: nil)
let viewController = mainStoryBoard.instantiateController(withIdentifier: "MainFrame3") as! NSViewController
let window = NSWindow()
window.contentViewController = viewController
window.makeKey()
window.setIsVisible(true)
}
В первый раз, когда я нажимаю на элемент меню, все работает нормально. Но когда я щелкаю по нему второй раз, приложение вылетает, и я получаю следующую ошибку, указывающую на файл AppDelegate: «Поток 1: EXC_BAD_INSTRUCTION (code = EXC_I386_INVOP, subcode = 0x0)»