首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSMenuItem更新标题

NSMenuItem更新标题
EN

Stack Overflow用户
提问于 2016-06-21 18:55:17
回答 2查看 1.3K关注 0票数 2

我可以使用以下代码以编程方式创建菜单项。

primaryMenu.addItem(NSMenuItem(title: "MenuTitle", action: nil, keyEquivalent: ""))

我希望能够从这个菜单项中更新标题。当我使用Interface手动创建菜单时,我已经能够非常容易地做到这一点。

我没有办法识别菜单项。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-21 19:03:00

存储对NSMenuItem的引用(例如在实例变量中),并随时设置标题:

代码语言:javascript
复制
let myMenu = NSMenuItem(title: "MenuTitle", action: nil, keyEquivalent: "")

primaryMenu.addItem(myMenu)

//somewhere else:
myMenu.title = "xyz"
票数 1
EN

Stack Overflow用户

发布于 2016-06-21 19:04:38

只需在类的顶层创建一个延迟实例化变量即可。

代码语言:javascript
复制
lazy var mySpecialMenuItem : NSMenuItem = {
   return NSMenuItem(title: "MenuTitle", action: nil, keyEquivalent: "")
}()

并将菜单项分配给变量。

代码语言:javascript
复制
primaryMenu.addItem(mySpecialMenuItem)

现在您可以更改标题了

代码语言:javascript
复制
mySpecialMenuItem.title = "Something Else"

惰性实例化变量的好处是,在第一次访问变量之前不会对其进行初始化,并且可以避免可选或隐式未包装的可选选项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37952440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档