我能夠以編程方式使用以下代碼創建菜單項。NSMenuItem更新標題
primaryMenu.addItem(NSMenuItem(title: "MenuTitle", action: nil, keyEquivalent: ""))
我希望能夠更新從此菜單項的標題。當我使用Interface Building手動創建菜單時,我可以非常輕鬆地完成此操作。
我沒有辦法確定菜單項。
我能夠以編程方式使用以下代碼創建菜單項。NSMenuItem更新標題
primaryMenu.addItem(NSMenuItem(title: "MenuTitle", action: nil, keyEquivalent: ""))
我希望能夠更新從此菜單項的標題。當我使用Interface Building手動創建菜單時,我可以非常輕鬆地完成此操作。
我沒有辦法確定菜單項。
存儲到您的NSMenuItem
參考(如在一個實例變量),並在其上設置標題時,你希望:
let myMenu = NSMenuItem(title: "MenuTitle", action: nil, keyEquivalent: "")
primaryMenu.addItem(myMenu)
//somewhere else:
myMenu.title = "xyz"
在類
的頂層只需創建一個懶惰的實例變量lazy var mySpecialMenuItem : NSMenuItem = {
return NSMenuItem(title: "MenuTitle", action: nil, keyEquivalent: "")
}()
和菜單項賦給變量
primaryMenu.addItem(mySpecialMenuItem)
現在,您可以更改標題
mySpecialMenuItem.title = "Something Else"
一個懶惰的實例變量的好處是,直到它的首次訪問的它不會被初始化,你能避免一個可選的或隱含的展開可選。
但是*其他地方*必須在相同的範圍內,這沒有多大意義。 – vadian
補充說明 – Alexander