在菜单项上打开URL单击

时间:2017-10-27 09:00:57

标签: swift xcode macos swift3

我需要在用户点击菜单项时打开网址。 目前我正在使用以下代码

url = URL(string: "https://www.example.com/test")
NSWorkspace.shared().open(url)

这可以从Button中正常工作。但我无法将菜单项中的Segue连接到视图控制器以便设置IOAction,以便我可以编写必要的代码。

我该如何解决这个问题?请指教。

2 个答案:

答案 0 :(得分:1)

Segues用于从您的应用中打开新视图或窗口。您应该在视图控制器或应用程序委托中将您的函数实现为普通@IBAction,并将Connections Inspector中action下的Sent Actions与故事板场景中的First Responder连接。你会在那里找到你的行动方法。 Cocoa touch将自动启用或禁用视图控制器在响应程序链中的菜单项。如果在app delegate中实现action方法,则应始终启用菜单项,因为委托始终位于响应程序链中。

@IBAction func openURL(_ sender: AnyObject) {
    let url = URL(string: "https://www.example.com/test")
    NSWorkspace.shared().open(url)
}

答案 1 :(得分:1)

  • 在视图控制器中将方法实现为FROM debian:stretch
  • IBAction连接到应用场景的 NSMenuItem (红色多维数据集)并选择方法。

如果方法有多个实现,框架将在响应者链中执行第一个。