Xcode NSWindow在showWindow之后自动关闭

Xcode NSWindow在showWindow之后自动关闭,xcode,swift,cocoa,storyboard,nswindow,Xcode,Swift,Cocoa,Storyboard,Nswindow,我正试图打开故事板中的一个窗口。 我正确地实例化了控制器,窗口打开但立即消失 var sb : NSStoryboard? var vc : NSWindowController? @IBAction func openWindow(sender: AnyObject) { let sb = NSStoryboard(name: "NewStoryBoard", bundle: nil) let vc = sb.instantiateContro

我正试图打开故事板中的一个窗口。 我正确地实例化了控制器,窗口打开但立即消失

   var sb : NSStoryboard?
   var vc : NSWindowController?
   @IBAction func openWindow(sender: AnyObject) {
        let sb = NSStoryboard(name: "NewStoryBoard", bundle: nil)
        let vc = sb.instantiateControllerWithIdentifier("windowController")
        vc.showWindow(nil)
   }
如果变量在func中,我就会理解这种行为。在这种情况下,电弧会破坏窗户

在我的示例中,变量位于func之外,这应该可以防止变量被ARC杀死

我的方式怎么了?
谢谢

实际上,在您的示例中,有两组不同的变量。您的
让sb=…
让vc=…
创建本地变量(同名),并在函数中使用时覆盖外部变量。您希望删除let限定符,以便它将值分配给函数外部的变量

如果同时删除
let
限定符,打开now选项并强制向下播放,则窗口将保持打开状态


注意:如果你不再需要你的故事板,你可以删除
var sb…
并保留
let sb…
,这样你就少了一个东西可以打开。

天哪,我觉得好笨。非常感谢你!