시스템 상태 표시 줄의 메뉴가 비활성화 됨
Dec 23 2020
func createStatusItem() -> NSStatusItem {
let item = NSStatusBar.system.statusItem(withLength: NSStatusItem.squareLength)
item.button?.image = NSImage(systemSymbolName: "archivebox.fill", accessibilityDescription: "")
item.menu = createMenu()
return item;
}
func createMenu() -> NSMenu {
let menu = NSMenu(title: "Cap Status Bar Menu")
menu.addItem(
withTitle: "Order a burrito",
action: #selector(StatusBarFactory.x(_:)),
keyEquivalent: "A")
menu.addItem(
withTitle: "Cancel burrito order",
action: #selector(StatusBarFactory.x(_:)),
keyEquivalent: "B")
menu.addItem(NSMenuItem.separator())
let i = NSMenuItem(title: "test", action: #selector(StatusBarFactory.x(_:)), keyEquivalent: "T");
menu.addItem(i)
return menu
}
그러면 시스템 상태 표시 줄에 메뉴가 생성되지만 모든 항목이 비활성화됩니다!
누구든지 그것을 고치는 방법을 알고 있습니까? 감사합니다.

답변
Asperi Dec 23 2020 at 12:11
메뉴 유효성 검사는 응답자 체인에서 지정된 작업의 구현자를 찾지 못하므로 비활성화합니다. 각 메뉴 항목에 대한 대상을 지정해야합니다.
let item = menu.addItem(
withTitle: "Order a burrito",
action: #selector(StatusBarFactory.x(_:)),
keyEquivalent: "A")
item.target = _instance_of_StatusBarFactory_here // like StatusBarFactory.shared