NSStatusBar + Swift: заголовок отображается и сразу исчезает
Я хочу сделать строку состояния для macOS, но после запуска приложения отображается заголовок и сразу исчезает
func applicationDidFinishLaunching(_ aNotification: Notification) {
// Insert code here to initialize your application
let statusItem = NSStatusBar.system().statusItem(withLength: NSVariableStatusItemLength)
statusItem.title = "Hello"
}
Я думаю, что что-то не так со ссылками, но не знаю, как решить эту проблему.
1 ответ
Решение
На самом деле вам нужна сильная ссылка на элемент статуса
var statusItem : NSStatusItem!
func applicationDidFinishLaunching(_ aNotification: Notification) {
// Insert code here to initialize your application
statusItem = NSStatusBar.system().statusItem(withLength: NSVariableStatusItemLength)
statusItem.title = "Hello"
}
Однако я рекомендую использовать закрытие для инициализации элемента статуса
let statusItem : NSStatusItem = {
let item = NSStatusBar.system().statusItem(withLength: NSVariableStatusItemLength)
item.title = "Hello"
return item
}()