将菜单项添加到扩展坞中的右键单击应用程序菜单会导致每次我单击时重新添加它们

adding menu items to the right click app menu in the dock casues them to be re-added each time i click

所以我一直在尝试将项目添加到右键菜单 当您在 macOS 中右键单击扩展坞中的应用程序图标时

但是当我用这段代码来做的时候,只要我右键点击应用程序图标 它重新添加菜单项

 class myclass: NSObject , NSApplicationDelegate{


   func applicationDockMenu(_ sender: NSApplication) -> NSMenu? {


    dockMenu.addItem(withTitle: "test1", action: nil, keyEquivalent:     "")

    return dockMenu
   }

您必须在NSMenu内部创建方法

func applicationDockMenu(_ sender: NSApplication) -> NSMenu? {

    let dockMenu = NSMenu()
    dockMenu.addItem(withTitle: "test1", action: nil, keyEquivalent:     "")
    return dockMenu
}

或删除项目

let dockMenu = NSMenu()

func applicationDockMenu(_ sender: NSApplication) -> NSMenu? {

    dockMenu.removeAllItems()
    dockMenu.addItem(withTitle: "test1", action: nil, keyEquivalent:     "")
    return dockMenu
}

但是我会在 Interface Builder 中声明它并使用插座。