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

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

Разработчик

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

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

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

NSPredicateEditorRowTemplate

NSPredicateEditorRowTemplate описывает доступные предикаты и как вывести на экран их.

Можно создать экземпляры NSPredicateEditorRowTemplate программно или в Интерфейсном Разработчике. По умолчанию несоставной шаблон строки имеет три представления: раскрывающееся (или поле статического текста) слева, поле раскрывающегося или статического текста для операторов, и или раскрывающееся или другое представление справа. Можно разделить на подклассы NSPredicateEditorRowTemplate создать шаблон строки с различными числами или типами представлений.

NSPredicateEditorRowTemplate реальный класс, но он имеет пять примитивных методов, которыми вызывают NSPredicateEditor: templateViews, matchForPredicate:, setPredicate:, displayableSubpredicatesOfPredicate:, и predicateWithSubpredicates:. NSPredicateEditorRowTemplate реализации все они, но можно переопределить их для пользовательских шаблонов. Примитивные методы используются экземпляром NSPredicateEditor следующим образом.

Во-первых, экземпляр NSPredicateEditor создается, и некоторые шаблоны строки установлены на нем — или через файл пера или программно. Первая вещь, которую делает редактор предиката, спрашивает каждый из шаблонов для их представлений, с помощью templateViews.

После установки редактора предиката Вы обычно отправляете ему a setObjectValue: обменивайтесь сообщениями для восстановления сохраненного предиката. NSPredicateEditor потребности определить, какой из его шаблонов должен вывести на экран каждый предикат в дереве предиката. Это делает это путем отправки каждой его строки обрабатывает a по шаблону matchForPredicate: обменивайтесь сообщениями и выбор того, возвращающего самое высокое значение.

После нахождения лучшего соответствия для предиката, NSPredicateEditor копии, обрабатывающие по шаблону для получения новых представлений, вставляют их в надлежащую строку, и затем устанавливают предикат на шаблонном использовании setPredicate:. В том методе, NSPredicateEditorRowTemplate объект должен установить значения своих представлений для представления того предиката.

NSPredicateEditorRowTemplate затем просит у шаблона “визуализуемые подпредикаты” предиката путем отправки a displayableSubpredicatesOfPredicate: сообщение. Если шаблон представляет предикат полностью, или если предикат не имеет никаких подпредикатов, это может возвратиться nil для этого. Иначе, это должно возвратить список предикатов, которые будут превращены в подстроки строки того шаблона. Целый процесс повторяется для каждого подпредиката.

В этой точке пользователь видит сохраненный предикат. Если пользователь тогда вносит некоторые изменения в представления шаблонов, это вызывает NSPredicateEditor повторно вычислить его предикат, прося, чтобы каждый из шаблонов возвратил предикат, представленный новыми значениями представления, передав в подпредикатах, представленных подстроками (пустой массив, если нет ни одного, или nil если они не поддерживаются тем типом предиката):

predicateWithSubpredicates:

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


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


Swift

import AppKit

Objective C

@import AppKit;

Доступность


Доступный в OS X v10.5 и позже.
  • Инициализирует и возвращается, “популярность выталкивают всплывающее окно” - шаблон строки стиля.

    Объявление

    Swift

    init!(leftExpressions leftExpressions: [AnyObject]!, rightExpressions rightExpressions: [AnyObject]!, modifier modifier: NSComparisonPredicateModifier, operators operators: [AnyObject]!, options options: Int)

    Objective C

    - (instancetype)initWithLeftExpressions:(NSArray *)leftExpressions rightExpressions:(NSArray *)rightExpressions modifier:(NSComparisonPredicateModifier)modifier operators:(NSArray *)operators options:(NSUInteger)options

    Параметры

    leftExpressions

    Массив NSExpression объекты, представляющие левую сторону предиката.

    rightExpressions

    Массив NSExpression объекты, представляющие правую сторону предиката.

    modifier

    Модификатор для предиката (см. NSComparisonPredicateModifier для возможных значений).

    operators

    Массив NSNumber объекты, указывающие тип оператора (см. NSPredicateOperatorType для возможных значений).

    options

    Опции для предиката (см. NSComparisonPredicate_Options для возможных значений).

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

    Шаблон строки “популярности выталкивает всплывающее окно” - форма, с левым и правым раскрывается, представление левого и правого выражения выстраивает leftExpressions и rightExpressions и центральное раскрывающееся представление операторов.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Инициализирует и возвращается, “популярность выталкивают представление” - шаблон строки стиля.

    Объявление

    Swift

    init!(leftExpressions leftExpressions: [AnyObject]!, rightExpressionAttributeType attributeType: NSAttributeType, modifier modifier: NSComparisonPredicateModifier, operators operators: [AnyObject]!, options options: Int)

    Objective C

    - (instancetype)initWithLeftExpressions:(NSArray *)leftExpressions rightExpressionAttributeType:(NSAttributeType)attributeType modifier:(NSComparisonPredicateModifier)modifier operators:(NSArray *)operators options:(NSUInteger)options

    Параметры

    leftExpressions

    Массив NSExpression объекты, представляющие левую сторону предиката.

    attributeType

    Тип атрибута для правой стороны предиката. Это значение диктует тип представления, создаваемого, и как объектное значение управления принуждено прежде, чем поместить его в предикат.

    modifier

    Модификатор для предиката (см. NSComparisonPredicateModifier для возможных значений).

    operators

    Массив NSNumber объекты, указывающие тип оператора (см. NSPredicateOperatorType для возможных значений).

    options

    Опции для предиката (см. NSComparisonPredicate_Options для возможных значений).

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

    Шаблон строки инициализировал использование данных параметров.

    Обсуждение

    Тип attributeType диктует тип создаваемого представления. Например, NSDateAttributeType создаст NSDatePicker объект, NSInteger64AttributeType создаст поле краткого текста, и NSStringAttributeType произведет более длинное текстовое поле. Можно изменить размеры представлений, как Вы хотите.

    Предикаты автоматически не принуждают типы для Вас. Например, сравнение числа к строке повысит исключение. Поэтому тип атрибута также необходим, чтобы определить, как объектное значение управления должно быть принуждено прежде, чем поместить его в предикат.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Инициализирует и возвращает шаблон строки, подходящий для отображения составных предикатов.

    Объявление

    Swift

    init!(compoundTypes compoundTypes: [AnyObject]!)

    Objective C

    - (instancetype)initWithCompoundTypes:(NSArray *)compoundTypes

    Параметры

    compoundTypes

    Массив NSNumber объекты, указывающие составные типы предиката. Посмотрите Compound_Predicate_Types для возможных значений.

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

    Шаблон строки, инициализированный для отображения составных предикатов типов, указанных compoundTypes.

    Обсуждение

    NSPredicateEditor содержит такой шаблон по умолчанию.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Возвращает массив шаблонов предиката для данных ключевых путей атрибута для данного объекта.

    Объявление

    Swift

    class func templatesWithAttributeKeyPaths(_ keyPaths: [AnyObject]!, inEntityDescription entityDescription: NSEntityDescription!) -> [AnyObject]!

    Objective C

    + (NSArray *)templatesWithAttributeKeyPaths:(NSArray *)keyPaths inEntityDescription:(NSEntityDescription *)entityDescription

    Параметры

    keyPaths

    Массив ключевых путей атрибута, происходящих в entityDescription. Ключевые пути могут пересечь отношения, но должны завершиться в атрибутах.

    entityDescription

    Базовое описание объекта Данных.

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

    Массив предиката обрабатывает по шаблону для keyPaths возникновение в entityDescription.

    Обсуждение

    Этот метод определяет, который ключ соединяет каналом в описании объекта, может использовать те же представления (т.е. совместно использовать тот же тип атрибута). Для каждой из этих групп это инстанцирует отдельных шаблонов через initWithLeftExpressions:rightExpressions:modifier:operators:options:.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Если получатель может представлять данный предикат, и, возвращает положительное число 0 если это не может.

    Объявление

    Swift

    func matchForPredicate(_ predicate: NSPredicate!) -> Double

    Objective C

    - (double)matchForPredicate:(NSPredicate *)predicate

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

    Положительное число, если шаблон может представлять predicate, и 0 если это не может.

    Обсуждение

    По умолчанию, возвраты оценивает в диапазоне 0 к 1.

    Самое высокое соответствие среди всех шаблонов определяет, какой шаблон ответственен за отображение предиката. Можно переопределить это для определения, который утверждает пользовательские шаблонные дескрипторы.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Возвращает представления для получателя.

    Объявление

    Swift

    var templateViews: [AnyObject]! { get }

    Objective C

    @property(readonly, copy) NSArray *templateViews

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

    Представления для получателя.

    Обсуждение

    Экземпляры NSPopUpButton обрабатываются особенно NSPredicateEditor; их пункты меню объединяются в единственную кнопку всплывающего меню, и соответствие заголовков пункта меню объединено. Таким образом единственное дерево создается из отдельных шаблонов.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Устанавливает значение представлений согласно данному предикату.

    Объявление

    Swift

    func setPredicate(_ predicate: NSPredicate!)

    Objective C

    - (void)setPredicate:(NSPredicate *)predicate

    Параметры

    predicate

    Значение предиката для получателя.

    Обсуждение

    Этот метод только вызывают если matchForPredicate: возвращенный положительное значение для получателя.

    Можно переопределить это для установки значений пользовательских представлений.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Возвращает подпредикаты, которые должны быть сделаны подстроками данного предиката.

    Объявление

    Swift

    func displayableSubpredicatesOfPredicate(_ predicate: NSPredicate!) -> [AnyObject]?

    Objective C

    - (NSArray *)displayableSubpredicatesOfPredicate:(NSPredicate *)predicate

    Параметры

    predicate

    Объект предиката.

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

    Подпредикаты, которые должны быть сделаны подстроками predicate. Для составных предикатов (экземпляры NSCompoundPredicate), массив подпредикатов; для других типов предиката, возвратов nil. Если предикат не имеет никаких подпредикатов, возвратов, если шаблон представляет предикат полностью, или nil.

    Обсуждение

    Можно переопределить этот метод для создания пользовательских шаблонов, обрабатывающих сложные составные предикаты.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Возвращает предикат, представленный значениями представлений получателя и данными подпредикатами.

    Объявление

    Swift

    func predicateWithSubpredicates(_ subpredicates: [AnyObject]!) -> NSPredicate!

    Objective C

    - (NSPredicate *)predicateWithSubpredicates:(NSArray *)subpredicates

    Параметры

    subpredicates

    Массив предикатов.

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

    Предикат, представленный значениями представлений шаблона и данных подпредикатов. Можно переопределить этот метод для возврата предиката, представленного пользовательскими представлениями.

    Обсуждение

    Этот метод только вызывают если matchForPredicate: возвращенный положительное значение для получателя.

    Можно переопределить этот метод для возврата предиката, представленного пользовательским представлением.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Возвращает левые выражения для получателя.

    Объявление

    Swift

    var leftExpressions: [AnyObject]! { get }

    Objective C

    @property(readonly, copy) NSArray *leftExpressions

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

    Левые выражения для получателя

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Возвращает правые выражения для получателя.

    Объявление

    Swift

    var rightExpressions: [AnyObject]! { get }

    Objective C

    @property(readonly, copy) NSArray *rightExpressions

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

    Правые выражения для получателя

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Возвращает составные типы предиката для получателя.

    Объявление

    Swift

    var compoundTypes: [AnyObject]! { get }

    Objective C

    @property(readonly, copy) NSArray *compoundTypes

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

    Массив NSNumber объекты, указывающие составные типы предиката. Посмотрите Compound_Predicate_Types для возможных значений.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Возвращает модификатор предиката сравнения для получателя.

    Объявление

    Swift

    var modifier: NSComparisonPredicateModifier { get }

    Objective C

    @property(readonly) NSComparisonPredicateModifier modifier

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

    Модификатор предиката сравнения для получателя.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Возвращает массив операторов для получателя.

    Объявление

    Swift

    var operators: [AnyObject]! { get }

    Objective C

    @property(readonly, copy) NSArray *operators

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

    Массив операторов для получателя.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Возвращает опции предиката сравнения для получателя.

    Объявление

    Swift

    var options: Int { get }

    Objective C

    @property(readonly) NSUInteger options

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

    Опции предиката сравнения для получателя. Посмотрите NSComparisonPredicate_Options для возможных значений. Возвраты 0 если это не применяется (например, для составного шаблона, инициализированного с initWithCompoundTypes:).

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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

  • Возвращает тип атрибута правильного выражения получателя.

    Объявление

    Swift

    var rightExpressionAttributeType: NSAttributeType { get }

    Objective C

    @property(readonly) NSAttributeType rightExpressionAttributeType

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

    Тип атрибута правильного выражения получателя.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

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