You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何需添加空白NSMenuItem才能让后续NSMenuItem正常显示?

macOS Sonoma下NSMenuToolbarItem菜单动态填充异常问题解答

这不是正常行为

你遇到的第一个菜单项丢失的情况不符合预期。在menuNeedsUpdate(_:)方法中清空菜单并重新设置菜单项后,所有添加的条目都应该正常显示,无需依赖额外的空白菜单项才能显示后续内容,这明显是NSMenuToolbarItem或NSMenu在Sonoma系统下的一个bug。

建议向苹果提交反馈

这种不符合API设计预期的行为需要反馈给苹果。提交时请提供以下信息:

  • 复现问题的完整代码片段
  • 系统版本(macOS Sonoma具体版本号)
  • 问题现象描述(添加的第一个菜单项丢失,加空白项后恢复正常)
    苹果开发者反馈渠道(Feedback Assistant)是提交这类问题的正式途径,有助于他们修复该bug。

关于NSMenuItem无参数初始化器的文档问题

NSMenuItem()这个无参数初始化器确实存在,但苹果官方文档未将其列出,属于文档遗漏。它会创建一个无标题、无动作、无快捷键的空白菜单项,虽然当前可以正常使用,但由于未被官方文档化,后续系统版本可能存在兼容性风险,建议优先使用文档明确标注的init(title:action:keyEquivalent:)初始化器创建菜单项。

内容的提问来源于stack exchange,提问作者user10711707

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 00:02:53