【问题标题】:Using validateMenuItem on lots of items在很多项目上使用 validateMenuItem
【发布时间】:2016-03-10 00:03:11
【问题描述】:

这是一个最佳实践问题:

我有许多菜单项,它们根据在关联的 NSTableView 中选择的行数进行切换。例如,只有在选择两行,而不是零,只有两个。

时,才应允许“连接端”。

我的问题是如何在 validateMenuItem 中引用这些。我知道操作方法在 menuItem 中发送,我可以选择标题文本。但是,当应用程序本地化时,这是否有效?我也可以使用标签,但标签在某些方面是“非标准”的,很容易忘记设置它们。

那么对于这个问题,最好/最容易维护的解决方案是什么?

【问题讨论】:

    标签: cocoa nsmenuitem


    【解决方案1】:

    正如你所说,标题文本不安全,因为它可能会因任何原因而改变。

    更安全的方法是访问NSMenuItemaction,并将其与@selector 文字进行比较

    像这样:

       if ( [menuItem action] == @selector(connectEnds:) )
       {
          //Do your check to figure if you should return YES/NO here to validate the menu item
       }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-15
      • 1970-01-01
      • 2014-09-20
      • 1970-01-01
      相关资源
      最近更新 更多