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

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

Разработчик

Ссылка платформы CoreServices ссылка MDQuery

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

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

Ссылка MDQuery

MDQuery является совместимым CF объектом, следует соглашениям CF и может использоваться с полиморфными функциями CF, такой как CFRetain. MDQuery инкапсулирует запросы против Системного хранилища метаданных файла.

MDQuery обычно выполняется асинхронно и отправляет уведомления прогресса, поскольку собраны результаты. Во время собирающейся фазы результаты запроса соответствуют указанным спискам значения и сортировке.

MDQuery собирает результаты и обрабатывает обновления только, в то время как работает цикл выполнения текущего потока.

Для функций, берущих параметр MDQueryRef, если этим параметром не является допустимый MDQueryRef, поведение не определено. NULL не допустимый MDQueryRef.

Для функций, берущих параметры CF*Ref, такие как CFStringRef и CFArrayRef, если этот параметр не является допустимым объектом CF корректного типа, поведение не определено. NULL не допустимый CF*Ref.

Функции

  • Создает новый экземпляр запроса.

    Объявление

    Swift

    func MDQueryCreate(_ allocator: CFAllocator!, _ queryString: CFString!, _ valueListAttrs: CFArray!, _ sortingAttrs: CFArray!) -> MDQuery!

    Objective C

    MDQueryRef MDQueryCreate ( CFAllocatorRef allocator, CFStringRef queryString, CFArrayRef valueListAttrs, CFArrayRef sortingAttrs );

    Параметры

    allocator

    CFAllocator возражают, чтобы использоваться для выделения памяти для нового объекта. Передача NULL или kCFAllocatorDefault использовать текущее средство выделения по умолчанию.

    queryString

    Выражение запроса представляет в виде строки для этого запроса.

    valueListAttrs

    Дополнительный массив названий атрибута. Запрос соберет значения этих атрибутов в списки uniqued, которые могут использоваться, чтобы суммировать результаты запроса и позволить пользователю далее квалифицировать поиск. Этот параметр может быть NULL если не требуются никакие списки значения. Набор списка значения увеличивает использование CPU и значительно увеличивает использование памяти MDQuery. Названиями атрибута является Кфстрингс.

    sortingAttrs

    N массив названий атрибута раньше сортировал результаты, или NULL если не требуется никакая сортировка. Имя в массиве используется в качестве основного ключа сортировки, второе как вторичный ключ, и т.д. Сравнение подобно введенных значений является простым, литеральным сравнением. Сортировка использования памяти увеличений и значительно увеличивает использование CPU MDQuery. Обычно более эффективно позволить MDQuery сортировать результаты, чем получение значений и сортировка результатов самостоятельно. Названиями атрибута является Кфстрингс.

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

    MDQueryRef, или NULL при отказе. Если строка запроса пуста или уродлива, функция возвращает NULL.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Создает новый запрос, который является подмножеством указанного parentquery.

    Объявление

    Swift

    func MDQueryCreateSubset(_ allocator: CFAllocator!, _ query: MDQuery!, _ queryString: CFString!, _ valueListAttrs: CFArray!, _ sortingAttrs: CFArray!) -> MDQuery!

    Objective C

    MDQueryRef MDQueryCreateSubset ( CFAllocatorRef allocator, MDQueryRef query, CFStringRef queryString, CFArrayRef valueListAttrs, CFArrayRef sortingAttrs );

    Параметры

    allocator

    CFAllocator возражают, чтобы использоваться для выделения памяти для нового объекта. Передайте NULL или kCFAllocatorDefault использовать текущее средство выделения по умолчанию.

    query

    Родительский запрос

    queryString

    Выражение запроса представляет в виде строки для этого запроса.

    valueListAttrs

    Дополнительный массив названий атрибута. Запрос соберет значения этих атрибутов в списки uniqued, которые могут использоваться, чтобы суммировать результаты запроса и позволить пользователю далее квалифицировать поиск. Этот параметр может быть NULL если не требуются никакие списки значения. Набор списка значения увеличивает использование CPU и значительно увеличивает использование памяти MDQuery. Названиями атрибута является Кфстрингс.

    sortingAttrs

    N массив названий атрибута раньше сортировал результаты, или NULL если не требуется никакая сортировка. Имя в массиве используется в качестве основного ключа сортировки, второе как вторичный ключ, и т.д. Сравнение подобно введенных значений является простым, литеральным сравнением. Сортировка использования памяти увеличений и значительно увеличивает использование CPU MDQuery. Обычно более эффективно позволить MDQuery сортировать результаты, чем получение значений и сортировка результатов самостоятельно. Названиями атрибута является Кфстрингс.

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

    MDQueryRef, или NULL при отказе. Если строка запроса пуста или уродлива, функция возвращает NULL.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Устанавливает поисковый объем для экземпляра запроса.

    Объявление

    Swift

    func MDQuerySetSearchScope(_ query: MDQuery!, _ scopeDirectories: CFArray!, _ scopeOptions: OptionBits)

    Objective C

    void MDQuerySetSearchScope ( MDQueryRef query, CFArrayRef scopeDirectories, OptionBits scopeOptions );

    Параметры

    query

    Объект запроса изменить.

    scopeDirectories

    CFArray CFStringRef или объектов CFURLRef, указывающих, где искать. Для удобства kMDQueryScopeHome, kMDQueryScopeComputer и kMDQueryScopeNetwork константы могут также быть включены в массив.

    scopeOptions

    Дополнительные опции для изменения поиска. В настоящее время необходимо передать 0.

    Обсуждение

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Устанавливает очередь отгрузки, на которой результаты запроса будут поставлены MDQueryExecute.

    Объявление

    Swift

    func MDQuerySetDispatchQueue(_ query: MDQuery!, _ queue: dispatch_queue_t!)

    Objective C

    void MDQuerySetDispatchQueue ( MDQueryRef query, dispatch_queue_t queue );

    Параметры

    query

    Запрос.

    queue

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

    Обсуждение

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

    Установка очереди отгрузки для синхронного запроса (kMDQuerySynchronous) не имеет никакого эффекта.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Определяет максимальный номер возвращенных результатов.

    Объявление

    Swift

    func MDQuerySetMaxCount(_ query: MDQuery!, _ size: CFIndex)

    Objective C

    void MDQuerySetMaxCount ( MDQueryRef query, CFIndex size );

    Параметры

    query

    Запрос.

    size

    Максимальное количество результатов возврата.

    Обсуждение

    Это нужно вызвать, прежде чем запрос выполняется.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

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

    Объявление

    Swift

    func MDQueryGetBatchingParameters(_ query: MDQuery!) -> MDQueryBatchingParams

    Objective C

    MDQueryBatchingParams MDQueryGetBatchingParameters ( MDQueryRef query );

    Параметры

    query

    Запрос.

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

    Структура MDQueryBatchingParams с текущими параметрами пакетной обработки.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Установите параметры пакетной обработки запроса.

    Объявление

    Swift

    func MDQuerySetBatchingParameters(_ query: MDQuery!, _ params: MDQueryBatchingParams)

    Objective C

    void MDQuerySetBatchingParameters ( MDQueryRef query, MDQueryBatchingParams params );

    Параметры

    query

    Запрос.

    params

    Структура MDQueryBatchingParams с параметрами пакетной обработки для установки.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

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

    Объявление

    Swift

    func MDQueryCopyValueListAttributes(_ query: MDQuery!) -> CFArray!

    Objective C

    CFArrayRef MDQueryCopyValueListAttributes ( MDQueryRef query );

    Параметры

    query

    Запрос.

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

    CFArrayRef, содержащий названия атрибута собранных значений.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Возвращается список названий атрибута раньше сортировал результаты.

    Объявление

    Swift

    func MDQueryCopySortingAttributes(_ query: MDQuery!) -> CFArray!

    Objective C

    CFArrayRef MDQueryCopySortingAttributes ( MDQueryRef query );

    Параметры

    query

    Запрос.

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

    CFArrayRef, содержащий названия атрибута раньше, сортировал результаты запроса.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Возвращает строку запроса запроса.

    Объявление

    Swift

    func MDQueryCopyQueryString(_ query: MDQuery!) -> CFString!

    Objective C

    CFStringRef MDQueryCopyQueryString ( MDQueryRef query );

    Параметры

    query

    Запрос.

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

    CFStringRef, содержащий строку запроса.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Устанавливает функцию, используемую для создания объектов результата MDQuery.

    Объявление

    Swift

    func MDQuerySetCreateResultFunction(_ query: MDQuery!, _ `func`: MDQueryCreateResultFunction, _ context: UnsafeMutablePointer<Void>, _ cb: UnsafePointer<CFArrayCallBacks>)

    Objective C

    void MDQuerySetCreateResultFunction ( MDQueryRef query, MDQueryCreateResultFunction func, void *context, const CFArrayCallBacks *cb );

    Параметры

    query

    Запрос.

    func

    Функция обратного вызова MDQuery будет использовать для создания его результатов, таких как возвращенные функцией MDQueryGetResultAtIndex. Этот параметр может быть NULL, когда любые предыдущие настройки создания результата отменяются, и MDQuery впоследствии произведет MDItemRefs. Если функция указана и не типа MDQueryCreateResultFunction или не ведет себя как a MDQueryCreateResultFunction должен, поведение быть неопределенным.

    context

    Определяемое пользователем значение размера указателя, передающееся как третий параметр создать функции. MDQuery не использует это значение, не сохраняет контекст всегда и требует, чтобы контекст был допустим для времени жизни запроса. Если контекст не то, что ожидается создать функцией, поведение не определено.

    cb

    Указатель на a CFArrayCallBacks структура, инициализированная с обратными вызовами для запроса для использования для управления создаваемыми объектами результата. Копия содержания структуры обратных вызовов сделана, так, чтобы указатель на структуру на штабеле мог быть передан в или мог быть снова использован для многократных созданий запросов. Только версия 0 CFArrayCallBacks поддерживается. Сохранить поле может быть NULL, когда MDQuery не добавит сохранение к создаваемым результатам для запроса. Поле выпуска может быть NULL, когда MDQuery не удалит запрос, сохраняют (такие как тот, который это получает от создать функции) на объектах результата, когда уничтожается запрос. Если copyDescription поле NULL, запрос создаст простое описание для объектов результата. Если equal поле NULL, запрос будет использовать равенство указателя для тестирования на равенство результатов. Этот параметр обратных вызовов сам может быть NULL когда это обрабатывается как структура действительной версии 0 со всеми полями NULL. Иначе, если какое-либо из полей не является допустимыми указателями на функции корректного типа, или этот параметр не является допустимым указателем на a CFArrayCallBacks структура обратных вызовов, поведение не определено. Если какое-либо из значений значения, возвращенных из создать функции, не является тем, понятым под один или больше функций обратного вызова, поведение, когда те функции обратного вызова используются, не определено. Например, если может возвратиться создать функция NULL, тогда NULL должен быть понят под функциями обратного вызова как возможный параметр. Обратные вызовы сохранения и выпуска должны быть соответствующим набором, Вы не должны предполагать, что сохранить функция будет не использована или что дополнительные подсчеты ссылок не будут взяты на создаваемых результатах.

    Обсуждение

    Если не создают функцию, указан для MDQuery, объектами результата по умолчанию является MDItemRefs. Результаты, создаваемые после функции MDQuerySetCreateResultFunction вызывается создаются через указанное, создают функцию, но ценности, созданные перед функцией, были установлены, или после того, как это сброшено, не изменяются. Не желательно изменить эту функцию после функции MDQueryExecute был вызван. Функция создавать-результата вызвана лениво, поскольку результаты требуют от запроса, ее не вызывают на всех результатах и нельзя вызвать вообще. Это избегает стоимости создания потенциально сотен тысяч того, что могло бы быть временными объектами.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Устанавливает функцию, используемую для сортировки результатов MDQuery.

    Объявление

    Swift

    func MDQuerySetSortComparator(_ query: MDQuery!, _ comparator: MDQuerySortComparatorFunction, _ context: UnsafeMutablePointer<Void>)

    Objective C

    void MDQuerySetSortComparator ( MDQueryRef query, MDQuerySortComparatorFunction comparator, void *context );

    Параметры

    query

    Запрос.

    comparator

    Функция обратного вызова использование MDQuery для сортировки списка результатов. Этот параметр может быть NULL который отменяет предыдущие настройки компаратора вида. Если функция указана и не типа MDQuerySortComparatorFunction или не ведет себя как a MDQuerySortComparatorFunction должен, поведение быть неопределенным.

    context

    Определяемое пользователем значение размера указателя, передающееся как третий параметр создать функции. MDQuery не использует это значение, не сохраняет контекст всегда и требует, чтобы контекст был допустим для времени жизни запроса. Если контекст не то, что ожидается создать функцией, поведение не определено.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Устанавливает функцию, используемую для создания объектов значения MDQuery.

    Объявление

    Swift

    func MDQuerySetCreateValueFunction(_ query: MDQuery!, _ `func`: MDQueryCreateValueFunction, _ context: UnsafeMutablePointer<Void>, _ cb: UnsafePointer<CFArrayCallBacks>)

    Objective C

    void MDQuerySetCreateValueFunction ( MDQueryRef query, MDQueryCreateValueFunction func, void *context, const CFArrayCallBacks *cb );

    Параметры

    query

    Запрос.

    func

    Функция обратного вызова MDQuery должна использовать для создания ценностей списка значения, таких как возвращенные функцией MDQueryCopyValuesOfAttribute. Этот параметр может быть NULL, когда любые предыдущие настройки создания ценности отменяются, и MDQuery впоследствии произведет CFTypeRefs по умолчанию. Если функция указана и не типа MDQueryCreateValueFunction или не ведет себя как a MDQueryCreateValueFunction должен, поведение быть неопределенным.

    context

    Определяемое пользователем значение размера указателя, передающееся как третий параметр создать функции. MDQuery не использует это значение, не сохраняет контекст всегда и требует, чтобы контекст был допустим для времени жизни запроса. Если контекст не то, что ожидается создать функцией, поведение не определено.

    cb

    Указатель на структуру CFArrayCallBacks, инициализированную с обратными вызовами для запроса для использования для управления создаваемыми объектами значения. Копия содержания структуры обратных вызовов сделана, так, чтобы указатель на структуру на штабеле мог быть передан в или мог быть снова использован для многократных созданий запросов. Только версия 0 CFArrayCallBacks поддерживается. Сохранить поле может быть NULL, когда MDQuery не добавит сохранение к созданным ценностям. Поле выпуска может быть NULL, когда MDQuery сделает, ничто для удаления запроса не сохраняет (такие как тот, который это получает от создать функции) на объектах значения, когда уничтожается запрос. Если copyDescription поле NULL, запрос создаст простое описание для объектов значения. Если equal поле NULL, запрос будет использовать равенство указателя для тестирования на равенство значений. Этот параметр обратных вызовов сам может быть NULL когда это обрабатывается как структура действительной версии 0 со всеми полями NULL. Иначе, если какое-либо из полей не является допустимыми указателями на функции корректного типа, или этот параметр не является допустимым указателем на a CFArrayCallBacks структура обратных вызовов, поведение не определено. Если какое-либо из значений значения, возвращенных из создать функции, не является тем, понятым под один или больше функций обратного вызова, поведение, когда те функции обратного вызова используются, не определено. Например, если может возвратиться создать функция NULL, тогда NULL должен быть понят под функциями обратного вызова как возможный параметр. Обратные вызовы сохранения и выпуска должны быть соответствующим набором, Вы не должны предполагать, что сохранить функция будет не использована или что дополнительные подсчеты ссылок не будут взяты на создаваемых результатах.

    Обсуждение

    Ценности, созданные после создать функции, установлены, будет создаваться с помощью недавно указанной функции, но не изменяются существующие значения. Не желательно изменить эту функцию после MDQueryExecute был вызван с запросом.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Выполните запрос и заполните запрос с результатами.

    Объявление

    Swift

    func MDQueryExecute(_ query: MDQuery!, _ optionFlags: CFOptionFlags) -> Boolean

    Objective C

    Boolean MDQueryExecute ( MDQueryRef query, CFOptionFlags optionFlags );

    Параметры

    query

    Запрос для выполнения.

    optionFlags

    Битовое «ИЛИ» MDQueryOptionFlags использоваться запросом.

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

    Возвраты TRUE если запрос был запущен, FALSE иначе. Запросы не могут быть выполнены несколько раз.

    Обсуждение

    В то время как цикл выполнения текущего потока работает, запросы только собирают результаты или обрабатывают обновления.

    Запросы имеют две фазы: начальная сборочная фаза, собирающая все в настоящее время соответствующие результаты и вторую фазу живого обновления. Обновления происходят во время фазы живого обновления, если изменение в файле происходит таким образом, что это больше не соответствует запрос или если это начинает соответствовать запрос. Файлы, начинающие соответствовать запрос, добавляются к списку результата, и файлы, больше не соответствующие выражение запроса, удалены из списка результата.

    Уведомления запроса отправляются в контексте того же потока, выполняющего запрос.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Мешает запросу генерировать больше результатов.

    Объявление

    Swift

    func MDQueryStop(_ query: MDQuery!)

    Objective C

    void MDQueryStop ( MDQueryRef query );

    Параметры

    query

    Запрос.

    Обсуждение

    Запросы могут быть выполнены только один раз и не могут быть перезапущены. Запрос сначала завершит обработку любого необработанный results.do. Это может инициировать уведомление прогресса, так знать об этом при остановке запроса из обработчика примечания прогресса; т.е. во время этой функции могли бы произойти рекурсивный прогресс и/или законченное уведомление, который мог бы рекурсивно вызвать Ваш обработчик уведомления. Безопасно вызвать эту функцию рекурсивно. Вы вызвали бы эту функцию для остановки запроса, генерирующего слишком много результатов быть полезным, но все еще хотеть получить доступ к результатам, вошедшим до сих пор. Если запрос будет остановлен то перед собирающимися окончаниями фазы он не сообщит о себе, как закончено, и при этом он не отошлет законченное уведомление.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Отключает обновления к списку результата запроса.

    Объявление

    Swift

    func MDQueryDisableUpdates(_ query: MDQuery!)

    Objective C

    void MDQueryDisableUpdates ( MDQueryRef query );

    Параметры

    query

    Запрос.

    Обсуждение

    Эта функция должна быть вызвана прежде, чем выполнить итерации по результатам запроса, которые могли измениться вследствие живых обновлений. Нерабочее состояние является счетчиком, и отключение может быть сделано рекурсивно и от различных потоков.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Включает обновления к списку результата запроса.

    Объявление

    Swift

    func MDQueryEnableUpdates(_ query: MDQuery!)

    Objective C

    void MDQueryEnableUpdates ( MDQueryRef query );

    Параметры

    query

    Запрос.

    Обсуждение

    Эта функция должна быть вызвана, когда закончено выполнив итерации через список результатов. Живые обновления к результатам запроса будут продолжаться, когда все запрещение было соответствующим соответствием, включают.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Если первая фаза запроса, начального сбора результата, закончилась, возвращает true.

    Объявление

    Swift

    func MDQueryIsGatheringComplete(_ query: MDQuery!) -> Boolean

    Objective C

    Boolean MDQueryIsGatheringComplete ( MDQueryRef query );

    Параметры

    query

    Запрос.

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

    Возвраты TRUE если первая фаза запроса завершилась, иначе FALSE.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

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

    Объявление

    Swift

    func MDQueryCopyValuesOfAttribute(_ query: MDQuery!, _ name: CFString!) -> CFArray!

    Objective C

    CFArrayRef MDQueryCopyValuesOfAttribute ( MDQueryRef query, CFStringRef name );

    Параметры

    query

    Запрос.

    name

    Название атрибута для возврата значения. Если атрибут не является одним из тех, которых требуют, когда запрос создавался, поведение не определено

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

    CFArrayRef, содержащий значение, возражает для указанного атрибута. Содержание массива не упорядочивается и содержит только одно возникновение каждого значения. Если запрос сконфигурирован для живых обновлений, содержание массива может изменяться в течение долгого времени.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

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

    Объявление

    Swift

    func MDQueryGetAttributeValueOfResultAtIndex(_ query: MDQuery!, _ name: CFString!, _ idx: CFIndex) -> UnsafeMutablePointer<Void>

    Objective C

    void * MDQueryGetAttributeValueOfResultAtIndex ( MDQueryRef query, CFStringRef name, CFIndex idx );

    Параметры

    query

    Запрос.

    name

    Название атрибута для возврата значений. Если атрибут не является одним из тех, которых требуют в valueListAttrs или sortingAttrs параметры к одной из функций создания запросов, результат будет NULL.

    idx

    Индекс в список результата запроса. Если индекс отрицателен или равен или больше, чем текущее число результатов в запросе, поведение не определено.

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

    Значение атрибута, или NULL если атрибут не существует для указанного результата.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Возвращает число результатов, имеющих данный атрибут и значение атрибута.

    Объявление

    Swift

    func MDQueryGetCountOfResultsWithAttributeValue(_ query: MDQuery!, _ name: CFString!, _ value: AnyObject!) -> CFIndex

    Objective C

    CFIndex MDQueryGetCountOfResultsWithAttributeValue ( MDQueryRef query, CFStringRef name, CFTypeRef value );

    Параметры

    query

    Запрос.

    name

    Название атрибута для возврата количества результата. Если атрибут не является одним из тех, которых требуют в valueListAttrs параметр, поведение не определено.

    value

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

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

    Число результатов, содержащих тот атрибут и значение.

    Обсуждение

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

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Возвращает текущий индекс данного результата.

    Объявление

    Swift

    func MDQueryGetIndexOfResult(_ query: MDQuery!, _ result: UnsafePointer<Void>) -> CFIndex

    Objective C

    CFIndex MDQueryGetIndexOfResult ( MDQueryRef query, const void *result );

    Параметры

    query

    Запрос.

    result

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

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

    Индекс данного результата, или kCFNotFound если значение не является одним из существующих результатов запроса. При обеспечении пользовательского результата функции создания результата результатом будут объекты, создаваемые той функцией.

    Обсуждение

    Если результат - создает функцию, был установлен, и равный обратный вызов не -NULL, это будет использоваться для тестирования результатов запроса против результата кандидата.

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

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Возвращает текущий результат в данном индексе.

    Объявление

    Swift

    func MDQueryGetResultAtIndex(_ query: MDQuery!, _ idx: CFIndex) -> UnsafePointer<Void>

    Objective C

    const void * MDQueryGetResultAtIndex ( MDQueryRef query, CFIndex idx );

    Параметры

    query

    Запрос.

    idx

    Индекс в список результата запроса. Если индекс отрицателен, или равен или больше, чем текущее число результатов в запросе, поведение не определено.

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

    В настоящее время возвращает MDItemRef в данном индексе, или если функция создания результата была установлена, возвращает результат, возвращенный той функцией.

    Обсуждение

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

    Если запрос сконфигурирован для разрешения живых обновлений, Обратите внимание на то, что индекс определенного результата может изменяться в течение долгого времени.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Возвращает число результатов, в настоящее время собираемых запросом.

    Объявление

    Swift

    func MDQueryGetResultCount(_ query: MDQuery!) -> CFIndex

    Objective C

    CFIndex MDQueryGetResultCount ( MDQueryRef query );

    Параметры

    query

    Запрос.

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

    Число результатов в запросе.

    Обсуждение

    Обратите внимание на то, что число результатов в запросе будет изменяться в течение долгого времени, поскольку обновляется список результата запроса.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Устанавливает блок, используемый для сортировки результатов MDQuery.

    Объявление

    Swift

    func MDQuerySetSortComparatorBlock(_ query: MDQuery!, _ comparator: ((UnsafePointer<Unmanaged<AnyObject>?>, UnsafePointer<Unmanaged<AnyObject>?>) -> CFComparisonResult)!)

    Objective C

    void MDQuerySetSortComparatorBlock ( MDQueryRef query, CFComparisonResult (^comparator)(const CFTypeRef attrs1[], const CFTypeRef attrs2[]) );

    Параметры

    query

    Запрос.

    comparator

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

    Блок может быть NULL отменять любой пользовательский компаратор.

    Обсуждение

    В то время как запрос выполняется, можно установить блок компаратора как много раз как вам угодно даже. Каждый раз, когда блок компаратора установлен, ко всем результатам обращаются с помощью нового блока компаратора перед функциональными возвратами. Блоком может быть NULL, чтобы отменить пользовательскую сортировку и вернуться к сортировке по умолчанию.

    Сортировка по умолчанию, предоставленная MDQueryCreate сортировка по возрастанию. Строки сравнены с помощью CFStringCompare с опциями kCFCompareNonliteral | kCFCompareLocalized | kCFCompareNumerically. CFDataRefs сравнены при помощи memcmp() из указателей данных.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Возвращает идентификатор типа всех экземпляров MDQuery

    Объявление

    Swift

    func MDQueryGetTypeID() -> CFTypeID

    Objective C

    CFTypeID MDQueryGetTypeID ( void );

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

Обратные вызовы

  • Функция обратного вызова раньше сортировала результаты запроса.

    Объявление

    Swift

    typealias MDQuerySortComparatorFunction = CFunctionPointer<((UnsafePointer<Unmanaged<AnyObject>?>, UnsafePointer<Unmanaged<AnyObject>?>, UnsafeMutablePointer<Void>) -> CFComparisonResult)>

    Objective C

    typedef CFComparisonResult (*MDQuerySortComparatorFunction) ( const CFTypeRef attrs1[], const CFTypeRef attrs2[], void *context );

    Параметры

    query

    Экземпляр запроса.

    attrs1

    Массив C значений атрибута для результата. Значения происходят в массиве в том же порядке и позиции, что названия атрибута были переданы в sortingAttrs выстройте, когда создавался запрос. Значения атрибутов будут NULL если доступ для чтения к тому атрибуту не позволяется, если атрибут не существует для результата или.

    attrs2

    Массив C значений атрибута для результата. Значения происходят в массиве в том же порядке и позиции, что названия атрибута были переданы в sortingAttrs выстройте, когда создавался запрос. Значения атрибутов будут NULL если доступ для чтения к тому атрибуту не позволяется, если атрибут не существует для результата или.

    context

    Определяемый пользователем параметр контекста обеспечил в функции MDQuerySetSortComparator.

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

    Функция должна возвратить один из CFComparisonResults kCFCompareLessThan, kCFCompareEqualTo, или kCFCompareGreaterThan. Нет никакого условия для неупорядоченных результатов. Сравнение должно быть общим отношением порядка и привести к тем же результатам для тех же вводов.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Функция обратного вызова раньше создавала объекты результата, сохраненные и возвращенные запросом.

    Объявление

    Swift

    typealias MDQueryCreateResultFunction = CFunctionPointer<((MDQuery!, MDItem!, UnsafeMutablePointer<Void>) -> UnsafePointer<Void>)>

    Objective C

    typedef const void * (*MDQueryCreateResultFunction) ( MDQueryRef query, MDItemRef item, void *context );

    Параметры

    query

    Экземпляр запроса.

    item

    MDItemRef по умолчанию для результата.

    context

    Определяемый пользователем параметр контекста обеспечил для MDQuerySetCreateResultFunction функция.

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

    Функция должна возвратить значение размера указателя, которым можно управлять с обратными вызовами, установленными одновременно, создать функция была дана запросу. Значение должно быть возвращено со ссылкой (такой, как будто сохранить обратный вызов вызвали на нем), как подразумевается Создать именем. Если эта функция не хочет создавать новый объект, она может возвратить данный MDItemRef, но должна также возвратиться, она с новым сохраняет, и обратные вызовы должны быть в состоянии обработать MDItemRef как входное значение. Если эта функция возвратит NULL, то NULL будет сохранен в настоящий момент в запросе, MDQueryGetResultAtIndex () может возвратить NULL для того результата, и в следующий раз, когда запрос хочет результат, это вызовет эту функцию снова.

    Обсуждение

    Функция может содержать на данное название атрибута и/или значение в некоторой другой структуре данных, но должна сохранить их для них, чтобы остаться допустимой.

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

  • Функция обратного вызова раньше создавала объекты значения, хранившие и возвращенные запросом.

    Объявление

    Swift

    typealias MDQueryCreateValueFunction = CFunctionPointer<((MDQuery!, CFString!, AnyObject!, UnsafeMutablePointer<Void>) -> UnsafePointer<Void>)>

    Objective C

    typedef const void * (*MDQueryCreateValueFunction) ( MDQueryRef query, CFStringRef attrName, CFTypeRef attrValue, void *context );

    Параметры

    query

    Экземпляр запроса.

    attrName

    Название атрибута значения.

    attrValue

    Значение по умолчанию значения.

    context

    Определяемый пользователем параметр контекста обеспечил в MDQuerySetCreateValueFunction функция.

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

    Функция должна возвратить значение размера указателя, которым можно управлять с обратным вызовом, которые были установлены одновременно, создать функция была дана запросу. Значение должно быть возвращено со ссылкой (такой, как будто сохранить обратный вызов вызвали на нем), как подразумевается Создать именем. Если эта функция не хочет создавать новый объект, она может возвратить данный CFTypeRef, но должна также возвратиться, она с новым сохраняет, и обратные вызовы должны быть в состоянии обработать a CFTypeRef как входное значение.

    Обсуждение

    Функция может содержать на данное название атрибута и/или значение в некоторой другой структуре данных, но должна сохранить их для них, чтобы остаться допустимой

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

Типы данных

Пакетная обработка параметров

  • Структура, содержащая уведомление прогресса, обрабатывающее параметры в пакетном режиме MDQuery.

    Объявление

    Swift

    struct MDQueryBatchingParams { var first_max_num: UInt var first_max_ms: UInt var progress_max_num: UInt var progress_max_ms: UInt var update_max_num: UInt var update_max_ms: UInt }

    Objective C

    typedef struct { size_t first_max_num; size_t first_max_ms; size_t progress_max_num; size_t progress_max_ms; size_t update_max_num; size_t update_max_ms; } MDQueryBatchingParams;

    Поля

    first_max_num

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

    first_max_ms

    Максимальное количество миллисекунд, которые могут передать перед первым уведомлением прогресса, отправляется. Это значение является консультацией, в которой уведомление будет инициировано в некоторый момент после first_max_ms миллисекунды передали, так как запрос начал накапливать результаты. Это значение используется только во время начальной собирающей результат фазы запроса.

    progress_max_num

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

    progress_max_ms

    Максимальное количество миллисекунд, которые могут передать перед дополнительными уведомлениями прогресса, отправляется. Это значение является консультацией, в которой уведомление будет инициировано в некоторый момент после progress_max_ms миллисекунды передали, так как запрос начал накапливать результаты. Это значение используется только во время начальной собирающей результат фазы запроса.

    update_max_num

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

    update_max_ms

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

    Обсуждение

    Параметры пакетной обработки значения по умолчанию не определены и подлежат изменению.

    Доступность

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

Прочие условия

  • Ссылка на объект MDQuery.

    Объявление

    Swift

    typealias MDQueryRef = MDQuery

    Objective C

    typedef struct __MDQuery *MDQueryRef;

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

Константы

Флаги опции запроса

  • Укажите режим выполнения для запроса.

    Объявление

    Swift

    struct MDQueryOptionFlags { init(_ value: UInt32) var value: UInt32 }

    Objective C

    typedef enum { kMDQuerySynchronous = 1, kMDQueryWantsUpdates = 4, } MDQueryOptionFlags;

    Константы

    • kMDQuerySynchronous

      kMDQuerySynchronous

      Указывает, что запрос должен блокировать во время начальной буквы, собирают фазу. Цикл выполнения запроса будет работать в режиме по умолчанию. Если эта опция не указана, функция запроса сразу возвращается после запуска запроса асинхронно.

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

    • kMDQueryWantsUpdates

      kMDQueryWantsUpdates

      Указывает, что запрос должен обеспечить живые обновления для списка результата после начальной сборочной фазы. Обновления происходят во время фазы живого обновления, если изменение в файле происходит таким образом, что это больше не соответствует запрос или если это начинает соответствовать запрос. Файлы, начинающие соответствовать запрос, добавляются к списку результата, и файлы, больше не соответствующие выражение запроса, удалены из списка результата. В настоящее время эта опция проигнорирована если kMDQuerySynchronous параметр указан. Это подвержено изменениям, и необходимо всегда передавать значение, надлежащее требуемому поведению.

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

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

    Objective C

    @import CoreServices;

    Swift

    import CoreServices

    Доступность

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

Уведомления

  • Указывает, что запрос закончился с начальной собирающей результат фазой.

    Объявление

    Swift

    let kMDQueryDidFinishNotification: CFString!

    Objective C

    const CFStringRef kMDQueryDidFinishNotification;

    Константы

    • kMDQueryDidFinishNotification

      kMDQueryDidFinishNotification

      Отправленный, чтобы указать, что запрос закончил начальную собирающую результат фазу.

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

    Обсуждение

    Список результатов запроса не обновляется в результате этого уведомления.

    Это уведомление только отправляется центру уведомления приложения.

  • Указывает, что список результатов запроса имеет изменение во время фазы живого обновления запроса.

    Объявление

    Swift

    let kMDQueryDidUpdateNotification: CFString!

    Objective C

    const CFStringRef kMDQueryDidUpdateNotification;

    Константы

    • kMDQueryDidUpdateNotification

      kMDQueryDidUpdateNotification

      Уведомление отправило, чтобы указать, что изменение произошло со списком результатов запроса во время фазы живого обновления выполнения запроса.

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

    Обсуждение

    Информационный словарь уведомления может содержать kMDQueryUpdateAddedItems, kMDQueryUpdateChangedItems, и kMDQueryUpdateRemovedItems ключи.

    Это уведомление только отправляется центру уведомления приложения.

  • Указывает, что список результатов запроса имеет изменение во время начальной собирающей результат фазы запроса.

    Объявление

    Swift

    let kMDQueryProgressNotification: CFString!

    Objective C

    const CFStringRef kMDQueryProgressNotification;

    Константы

    • kMDQueryProgressNotification

      kMDQueryProgressNotification

      Уведомление отправило, чтобы указать, что изменение произошло со списком результатов запроса во время начальной собирающей результат фазы выполнения.

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

    Обсуждение

    Новые элементы обычно добавляются во время этой фазы, однако для элементов возможно быть удаленным или обновленным, если изменяется исходный файл. Информационный словарь уведомления может содержать kMDQueryUpdateChangedItems и kMDQueryUpdateRemovedItems ключи.

    Для производительности причины добавили, что результаты не обозначены в уведомлениях прогресса, для предотвращения стоимости создания объектов результата.

    Это уведомление только отправляется центру уведомления приложения.

Информационные ключи уведомления

  • Укажите элементы, изменившиеся в результатах запроса.

    Объявление

    Swift

    let kMDQueryUpdateAddedItems: CFString! let kMDQueryUpdateChangedItems: CFString! let kMDQueryUpdateRemovedItems: CFString!

    Objective C

    const CFStringRef kMDQueryUpdateAddedItems; const CFStringRef kMDQueryUpdateChangedItems; const CFStringRef kMDQueryUpdateRemovedItems;

    Константы

    • kMDQueryUpdateAddedItems

      kMDQueryUpdateAddedItems

      Массив, идентифицирующий элементы, добавленные к результатам запроса. Этот список только содержит объекты результата, ранее созданные, несозданные объекты результата не включены.

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

    • kMDQueryUpdateChangedItems

      kMDQueryUpdateChangedItems

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

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

    • kMDQueryUpdateRemovedItems

      kMDQueryUpdateRemovedItems

      Массив, идентифицирующий элементы, удаленные из результатов запроса. Этот список только содержит объекты результата, ранее созданные, несозданные объекты результата не включены.

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

  • Укажите объем поиска запроса.

    Объявление

    Swift

    let kMDQueryScopeHome: CFString! let kMDQueryScopeComputer: CFString! let kMDQueryScopeNetwork: CFString! let kMDQueryScopeAllIndexed: CFString! let kMDQueryScopeComputerIndexed: CFString! let kMDQueryScopeNetworkIndexed: CFString!

    Objective C

    const CFStringRef kMDQueryScopeHome; const CFStringRef kMDQueryScopeComputer; const CFStringRef kMDQueryScopeNetwork; const CFStringRef kMDQueryScopeAllIndexed; const CFStringRef kMDQueryScopeComputerIndexed; const CFStringRef kMDQueryScopeNetworkIndexed;

    Константы

    • kMDQueryScopeHome

      kMDQueryScopeHome

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

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

    • kMDQueryScopeComputer

      kMDQueryScopeComputer

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

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

    • kMDQueryScopeNetwork

      kMDQueryScopeNetwork

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

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

    • kMDQueryScopeAllIndexed

      kMDQueryScopeAllIndexed

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

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

    • kMDQueryScopeComputerIndexed

      kMDQueryScopeComputerIndexed

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

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

    • kMDQueryScopeNetworkIndexed

      kMDQueryScopeNetworkIndexed

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

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

    Обсуждение

    Эти константы могут быть переданы в scopeDirectories выстройте к функции MDQuerySetSearchScope.

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

    Объявление

    Swift

    let kMDQueryResultContentRelevance: CFString!

    Objective C

    const CFStringRef kMDQueryResultContentRelevance;

    Константы

    • kMDQueryResultContentRelevance

      kMDQueryResultContentRelevance

      CFNumberRef со значением с плавающей точкой между 0,0 и 1.0 включительно.

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

    Обсуждение

    Значение уместности указывает уместность содержания объекта результата. Уместность вычислена на основе значения самого результата, не на его отношении к другим результатам, возвращенным запросом.

    Если элемент соответствует запрос посредством оценки других атрибутов, значение уместности для содержания объекта только, не на элементе результата в целом, и не может быть вычислено

    Если значение не вычислено, оно обрабатывается как атрибут на не существующем элементе.