如何在代码中调用用户 activity
How to call user activity in code
我正在尝试从工具栏向第一响应者中的自定义 activity 发送操作。对于图像按钮,我知道我可以拖放到第一响应者。但我想在分段控件中有 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
}
}
是我的方法错了吗?如果是这样,我应该怎么做?如果不是,我的代码有什么问题?
self.try(toPerform: Selector(("showStructure")), with: sender)
将 showStructure
发送到 self
,即 window 控制器。
将操作发送给第一个响应者 sendAction(_:to:from:)
of NSApplication
。
NSApp.sendAction(#selector(showStructure(_:)), to: nil, from: sender)
我正在尝试从工具栏向第一响应者中的自定义 activity 发送操作。对于图像按钮,我知道我可以拖放到第一响应者。但我想在分段控件中有 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
}
}
是我的方法错了吗?如果是这样,我应该怎么做?如果不是,我的代码有什么问题?
self.try(toPerform: Selector(("showStructure")), with: sender)
将 showStructure
发送到 self
,即 window 控制器。
将操作发送给第一个响应者 sendAction(_:to:from:)
of NSApplication
。
NSApp.sendAction(#selector(showStructure(_:)), to: nil, from: sender)