Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы AppKit ссылка на протокол NSMenuValidation

Опции
Развертывание Target:

На этой странице
Язык:

NSMenuValidation

Этот неофициальный протокол позволяет Вашему приложению обновлять включенное или отключенное состояние NSMenuItem объект. Это объявляет только один метод, validateMenuItem:.

Наследование


Не применимый

Соответствует


Не применимый

Оператор импорта


Swift

import AppKit

Objective C

@import AppKit;

Доступность


Доступный в OS X v10.0 и позже.
  • Реализованный для переопределения действия по умолчанию включения или отключения определенного пункта меню.

    Объявление

    Swift

    func validateMenuItem(_ menuItem: NSMenuItem) -> Bool

    Objective C

    - (BOOL)validateMenuItem:(NSMenuItem *)menuItem

    Параметры

    menuItem

    Объект NSMenuItem, представляющий пункт меню.

    Возвращаемое значение

    YEStrue включить menuItem, NOfalse отключить его.

    Обсуждение

    Объект, реализовывая этот метод должен быть целью menuItem. Можно определить который пункт меню menuItem путем запросов его для его тега или действия.

    Следующий пример отключает пункт меню, связанный с nextRecord метод действия, когда выбранная строка в табличном представлении является последней; с другой стороны это отключает пункт меню с priorRecord как его метод действия, когда выбранная строка является первой в табличном представлении. ( countryKeys массив содержит имена, появляющиеся в табличном представлении.)

    • - (BOOL)validateMenuItem:(NSMenuItem *)item {
    • int row = [tableView selectedRow];
    • if ([item action] == @selector(nextRecord) &&
    • (row == [countryKeys indexOfObject:[countryKeys lastObject]])) {
    • return NO;
    • }
    • if ([item action] == @selector(priorRecord) && row == 0) {
    • return NO;
    • }
    • return YES;
    • }

    Оператор импорта

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.0 и позже.