我正在尝试在我的Swift应用程序中打开一个新窗口,但我无法打开它。
class AppDelegate: NSObject, NSApplicationDelegate
{
func applicationDidFinishLaunching(aNotification: NSNotification)
{
openMyWindow()
}
func openMyWindow()
{
if let storyboard = NSStoryboard(name: "Main",bundle: nil)
{
if let vc = storyboard.instantiateControllerWithIdentifier("MyList") as? MyListViewController
{
var myWindow = NSWindow(contentViewController: vc)
myWindow.makeKeyAndOrderFront(self)
let controller = NSWindowController(window: myWindow)
controller.showWindow(self)
}
}
}
}
我在IB中设置了故事板ID。
我已经跟踪了代码,它确实进入了窗口打开代码,但它没有做任何事情。
BTW我确实有一个默认的故事板入口点设置,默认窗口打开OK但是我需要打开第二个窗口,这是不起作用的。
答案 0 :(得分:8)
执行openMyWindow()
方法后,windowController将被释放,因此窗口为零。这就是它不存在的原因。
你必须在你的班级中按住窗口以保持活着,然后窗口才会显示。
var windowController : NSWindowController?