NSMenuValidation
Этот неофициальный протокол позволяет Вашему приложению обновлять включенное или отключенное состояние NSMenuItem
объект. Это объявляет только один метод, validateMenuItem:
.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import AppKit
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
-
Реализованный для переопределения действия по умолчанию включения или отключения определенного пункта меню.
Объявление
Swift
func validateMenuItem(_
menuItem
: NSMenuItem) -> BoolObjective C
- (BOOL)validateMenuItem:(NSMenuItem *)
menuItem
Параметры
menuItem
Объект NSMenuItem, представляющий пункт меню.
Возвращаемое значение
YES
true
включитьmenuItem
,NO
false
отключить его.Обсуждение
Объект, реализовывая этот метод должен быть целью
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 и позже.