我正在尝试在App Delegate中为我的应用程序的主窗口设置一个插座,然后在Interface Builder中连接它。我轻松地在App Delegate中创建插座:
@IBOutlet weak var mainWindow: NSWindow!
但是,在界面构建器中,我无法将引用插座连接到App Delegate。相反,我只能将它连接到Window Controller,我希望这张图片显示:
第一个对象是Window Controller,第二个对象是First Responder,但缺少App Delegate对象。菜单栏有App Delegate对象:
我可以将任何东西从菜单栏连接到App Delegate中的任何商店。
我想我可以使用:
访问窗口对象NSApp.windows[0]
但这似乎容易出错,特别是如果我有多个窗口的话。
答案 0 :(得分:6)
我不知道这是否是正确的做法,但这将解决您的问题。
Decalre AppDelegate中的NSWindow房产
weak var window: NSWindow!
并将该属性设置为类似NSWindowController的windowWillLoad
(NSApplication.sharedApplication().delegate as! AppDelegate).window = self.window
您必须继承NSWindowController以定义windowWillLoad