2017-06-15 53 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