2017-06-15 63 views
1

我想使MacOS的狀態欄,但我跑得應用標題顯示,並立即消失後NSStatusBar +斯威夫特:標題顯示和立即消失

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 
}() 
+0

我和斯威夫特4試過這個在Xcode 9它也不起作用 - 該項目出現一眨眼,然後立即消失。 – ixany