我使用此功能创建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)
答案 0 :(得分:0)
我找到了实现目标的方法。不确定它是最好的解决方案,但它确实有效。
for item in computerInfoMenu.itemArray
{
if (item.tag) == 2
{
computerInfoMenu.removeItem(item)
}
}