我试图让NSWindow在单击该窗口的相应按钮时出现(关于-> aboutWindow,首选项-> preferencesWindow)。但是,当我单击按钮打开窗口时,它们闪烁然后消失。我看到了有关此问题的一两个帖子,描述了如何解决它,但是它相对模糊,并且在Objective-C中进行了解释,而不是Swift。我想我知道问题出在哪里(在@IBAction
内部创建的实例,一旦操作完成,就删除该实例),但是我不确定如何解决它。
所有代码均在https://github.com/madebybright/Nimble/tree/windows处结束
修复的解释将不胜感激。
最佳答案
您只需要将控制器的声明移出方法即可。尝试这样:
let aboutController = AboutController(windowNibName: "About")
let preferencesController = PreferencesController(windowNibName: "Preferences")
func showAbout(sender: AnyObject) {
println("showing about window")
aboutController.showWindow(aboutController.aboutWindow)
}
func showPreferences(sender: AnyObject) {
println("showing preferences window")
preferencesController.showWindow(preferencesController.preferencesWindow)
}