我有一些看起來像這樣的 Swift 代碼。但是,選單項將只是灰顯而不起作用。我已經#selector為該專案嘗試了不同的版本,但到目前為止沒有任何效果。
class StatusBarController {
private var statusBar: NSStatusBar
private var statusItem: NSStatusItem
init() {
statusBar = NSStatusBar.init()
self.statusItem = statusBar.statusItem(withLength: NSStatusItem.variableLength)
self.state = FirebaseData()
self.startUpdate()
self.setupMenus()
}
func setupMenus() {
let menu = NSMenu()
menu.addItem(withTitle: "Play Pause", action: #selector(StatusBarController.onClickPlayPause), keyEquivalent: "1")
menu.addItem(NSMenuItem.separator())
menu.addItem(NSMenuItem(title: "Quit", action: #selector(NSApplication.terminate(_:)), keyEquivalent: "q"))
self.statusItem.menu = menu
}
@objc func onClickPlayPause(sender : NSMenuItem) {
if self.isRunning() {
self.pause()
} else if (self.state.intervalLeft != nil) {
self.resume()
} else {
self.startTimer(nil)
}
}
}
有人可以向我解釋我在這里做錯了什么嗎?謝謝!

uj5u.com熱心網友回復:
你必須設定目標。
let playMenuItem = menu.addItem(withTitle: "Play Pause", action: #selector(onClickPlayPause), keyEquivalent: "1")
playMenuItem.target = self
該Quit專案通過 First Responder 作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/427955.html
上一篇:如何從元組陣列創建編號串列?
