将NSMenu链接到ViewController - Swift

时间:2015-02-19 00:39:38

标签: xcode swift nsmenu

我正在快速开发Yosemite应用程序并遇到障碍。

我有多个视图正常工作,现在我想实现自定义菜单操作。为了简化答案,我将如何实现这个例子。我想单击一个菜单按钮,让它在viewcontroller上更改文本。我尝试过设置IBActions,但我不确定如何从AppDelegate建立到viewcontroller的链接。你怎么连接这两个?

我还在搞清楚这些东西,所以任何见解都会很棒。提前致谢。

* UPDATE。我尝试制作一个对象并以这种方式链接它。没运气。

按"测试"它打印测试,但它在自己的类中。我需要在我的主ViewController类中做一些事情。我该怎么做这个参考?

NSMenu

1 个答案:

答案 0 :(得分:5)

NSViewController获取NSWindow是一个简单的解决方案 如果您的应用有多个窗口,请通过keyWindowwindows NSApplication选择合适的窗口。

@IBAction func pressed(sender: AnyObject) {
    if let window = NSApplication.sharedApplication().mainWindow {
        if let viewController = window.contentViewController as? YourViewController {
            // do stuff
            ...
        }
    }
}