Я создаю NSStatusItem в классе с именем StatusMenuController, как это
class StatusMenuController: NSObject {
let statusItem = NSStatusBar.system().statusItem(withLength: NSVariableStatusItemLength)
override func awakeFromNib() {
let icon = NSImage(named: "MenuBar")
icon?.isTemplate = true // best for dark mode
if let button = statusItem.button {
button.image = icon
button.action = #selector(StatusMenuController.showPomoNow)
button.sendAction(on: [.leftMouseUp, .rightMouseUp])
button.target = self
}
statusItem.title = "25:00"
}
Я могу легко изменить название в этом классе. Он изменится, как я и ожидал.
Я ссылаюсь на этот класс в AppDelegate
let statusMenu = StatusMenuController()
Добавить изменить его в другом классе
statusMenu.statusItem.title = "24:31"
Я ожидаю, что текст 25:00 изменится на "24:31", но это выглядит так.снимок экрана
Система создает еще один NSStatusItem. Как я могу изменить тот, который создан в StatusMenuController.
statusMenu
в другом классе? - person vadian   schedule 12.08.2017StatusMenuController
, Система создаст еще один NSStatusItem. Разве вы не создаете дваStatusMenuController
, один из пера, один с вашим кодомStatusMenuController()
? - person OOPer   schedule 13.08.2017statusMenu.statusItem.title = "24:31"
вызывается таймером. - person Jinyu Meng   schedule 13.08.2017