我正在尝试从工具栏中向第一响应者中的自定义活动发送操作。对于图像按钮,我知道我可以拖放到第一个响应者。但我希望在分段控制中有3个按钮。我似乎无法从故事板中设置分段单元格的单独动作。
所以我的下一个想法是将动作直接发送到Window控制器,从那里,我可以尝试将它发送到我的第一响应者的自定义动作。我尝试了以下代码但没有成功。
@IBAction func visibilityChanged(_ sender: NSSegmentedControl) {
switch sender.selectedSegment {
case 0:
self.try(toPerform: Selector(("showStructure")), with: sender)
case 1:
self.try(toPerform: Selector(("showActivity")), with: sender)
case 2:
self.try(toPerform: Selector(("showOutput")), with: sender)
default:
break
}
}
我的方法错了吗?如果是这样,我该怎么做?如果没有,我的代码出了什么问题?
答案 0 :(得分:1)
self.try(toPerform: Selector(("showStructure")), with: sender)
将showStructure
发送给self
,这是窗口控制器。
将动作发送给sendAction(_:to:from:)
NSApplication
的第一响应者。
NSApp.sendAction(#selector(showStructure(_:)), to: nil, from: sender)