Swift Can';t使用故事板将窗口连接到IBOutlet

Swift Can';t使用故事板将窗口连接到IBOutlet,swift,xcode,macos,cocoa,storyboard,Swift,Xcode,Macos,Cocoa,Storyboard,我正在尝试访问AppDelegate中的窗口。如果我创建了一个没有故事板的新OSX Cocoa项目,那么AppDelegate包含一个窗口变量,如下所示 class AppDelegate: NSObject, NSApplicationDelegate { @IBOutlet weak var window: NSWindow! 我可以删除插座和窗户之间的连接,然后一次又一次地重新连接,效果很好 现在,如果我创建一个带有故事板的新OSX Cocoa项目,并将window变量添加到A

我正在尝试访问AppDelegate中的窗口。如果我创建了一个没有故事板的新OSX Cocoa项目,那么AppDelegate包含一个窗口变量,如下所示

class AppDelegate: NSObject, NSApplicationDelegate {

    @IBOutlet weak var window: NSWindow!
我可以删除插座和窗户之间的连接,然后一次又一次地重新连接,效果很好

现在,如果我创建一个带有故事板的新OSX Cocoa项目,并将window变量添加到AppDelegate,然后尝试控制将插座拖动到窗口,就像我在没有故事板的项目上所做的一样,那么它将不起作用

有什么建议吗

(OSX 10.11.5 Xcode 7.3.1(和8 beta 6)swift 2.2(和3))


我知道我可以在代码中完成,只是不知道为什么我不能连接插座。

故事板由场景组成,每个场景都可以被视为一个单独的xib文件。不能在驻留在单独XIB中的对象之间建立连接(操作、出口等),类似地,也不能在故事板中驻留在单独场景中的对象之间建立连接

在默认的故事板设置中,您的
AppDelegate
对象和窗口对象位于不同的场景中-因此您无法创建插座:


相比之下,在xib应用程序中,两个对象都位于同一个xib文件中,因此可以创建连接。

那么有解决方案吗?我在窗口场景和窗口内容场景中也有类似的情况,无法跨越该边界建立连接是一件痛苦的事情。在我看来,这是一个不可思议的规则,它应该更灵活,将xib上的窗口连接到故事板