我正在构建一个使用工具栏的应用。我只想使用故事板(没有xib
和没有nib
文件,只有一个主要故事板和一些快速文件)。
这是我必须使用的(默认)配置:
但是,我的NSPopUpButton
是动态的:它需要加载数据以呈现给用户,然后需要将其传递给NSViewController
。它使用的数据与NSUserDefaults
一起存储,因此我可以从任何地方检索它。然后,当用户进行选择时,操作将被发送到第一响应者链,因此NSViewController
可以捕获它。
我遇到的问题是如何将NSViewController
(或其他NSWindowController
)的数据传回NSPopUpButton
。例如,当我更新设置时,我希望我的NSPopUpButton重新加载。
以下是一个小情况图:
NSToolbarItem <===> NSWindowController ===> First Responder ===> NSViewController
答案 0 :(得分:0)
好吧,我刚刚找到答案here:
我可以通过简单的:
从Window Controller访问我的ViewControllerlet viewController = self.window!.contentViewController! as! ViewController
同样,我可以从ViewController访问我的WindowController:
let parentWindowController = self.view.window!.windowController! as! WindowController