删除具有特定标签的 Nsmenu 项目

Delete Nsmenu item with specific tag

我用这个函数创建了一个NSMenuitems。他们都被标记为 2。

 func addToComputerInfoMenu (title: String)
{
    let addToComputerItem : NSMenuItem = NSMenuItem(title: "\(title)" , action: #selector(openWindow), keyEquivalent: "")

    addToComputerItem.attributedTitle = NSAttributedString(string: "\(title)", attributes: [NSFontAttributeName: NSFont.systemFontOfSize(14), NSForegroundColorAttributeName: NSColor.blackColor()])
    addToComputerItem.tag = 2
    addToComputerItem.enabled = true
    computerInfoMenu.addItem(addToComputerItem)
}

我想以编程方式删除所有带有“2”标签的项目。我尝试使用 .itemWithTag 和 .indexOfItemWithTag。我似乎无法遍历列表。

let itemswithindex2 = computerInfoMenu.itemWithTag(2)

我找到了实现目标的方法。不确定这是最好的解决方案,但它确实有效。

    for item in computerInfoMenu.itemArray
    {
        if (item.tag) == 2
        {
            computerInfoMenu.removeItem(item)
        }
    }