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

时间:2016-07-21 19:37:39

标签: swift nsmenu nsmenuitem

我使用此功能创建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)

1 个答案:

答案 0 :(得分:0)

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

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