OS X App 自动移除编辑菜单中的复制、粘贴等价键

OS X App automatically remove copy, paste key equivalent in Edit menu

在故事板中,我在菜单项中看到快捷键

但是当我 运行 应用程序时,此快捷方式会自动删除:

我不明白为什么!

  1. 这些菜单来自默认模板。
  2. 您的应用程序在后台调用 validateMenuItem:如果 menuItem 无法执行操作(例如复制:),menuItem 将保持禁用状态。
  3. 考虑验证的对象是 firstResponder(见下图)。如果 firstResponder 为 nil -> 菜单项将被禁用。您的应用程序还会检查对象 (firstResponder) 是否响应菜单项选择器。

您显然已将这些快捷方式分配给另一个菜单项,可能包括 window 中的弹出菜单。如果多个菜单分配了相同的快捷方式,那么实际上在 运行 时间会有它是任意的。