为何需添加空白NSMenuItem才能让后续NSMenuItem正常显示?
这不是正常行为
你遇到的第一个菜单项丢失的情况不符合预期。在menuNeedsUpdate(_:)方法中清空菜单并重新设置菜单项后,所有添加的条目都应该正常显示,无需依赖额外的空白菜单项才能显示后续内容,这明显是NSMenuToolbarItem或NSMenu在Sonoma系统下的一个bug。
建议向苹果提交反馈
这种不符合API设计预期的行为需要反馈给苹果。提交时请提供以下信息:
- 复现问题的完整代码片段
- 系统版本(macOS Sonoma具体版本号)
- 问题现象描述(添加的第一个菜单项丢失,加空白项后恢复正常)
苹果开发者反馈渠道(Feedback Assistant)是提交这类问题的正式途径,有助于他们修复该bug。
关于NSMenuItem无参数初始化器的文档问题
NSMenuItem()这个无参数初始化器确实存在,但苹果官方文档未将其列出,属于文档遗漏。它会创建一个无标题、无动作、无快捷键的空白菜单项,虽然当前可以正常使用,但由于未被官方文档化,后续系统版本可能存在兼容性风险,建议优先使用文档明确标注的init(title:action:keyEquivalent:)初始化器创建菜单项。
内容的提问来源于stack exchange,提问作者user10711707
相关产品推荐
相关产品推荐

