我的macOS应用程序上有一个工具栏,是用Swift开发的。工具栏项可以拖动到 NSWindowController 上,我可以设置 IABAction 函数,我现在只是在函数中打印。当我单击按钮时,没有任何反应,单击似乎没有被识别为操作?
我在函数中还有几行代码,但删除了它,现在只有 print("test") 行。
@IBAction func exportCsvClicked(_ sender: NSToolbarItem) {
print("test") }
没有观察到输出,所以当我单击此按钮时,我很想在控制台中进行"测试"。
下面是与工具栏项关联的连接的列表。
我找到了一种方法来解决来自 NSToolbarItem 的 IBAction 无法识别此项目的点击这一事实:
1/我做了一个自定义Segue从项目到主窗口控制器(它可以去任何地方)
2/准备 segue 功能会在通知中发布通知,说明该项目已被单击。
3/主视图控制器观察通知并呈现我在情节提要中设置的视图(引用情节提要 ID)。我发现您需要传递所有必要的变量才能从主视图控制器设置视图,并且工作表/弹出视图的 viewDidLoad 函数中的代码未运行,我怀疑它们可能是不同的实例。