Ссылка 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!) -> MDQueryBatchingParamsObjective 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
или не ведет себя как aMDQueryCreateResultFunction
должен, поведение быть неопределенным.context
Определяемое пользователем значение размера указателя, передающееся как третий параметр создать функции. MDQuery не использует это значение, не сохраняет контекст всегда и требует, чтобы контекст был допустим для времени жизни запроса. Если контекст не то, что ожидается создать функцией, поведение не определено.
cb
Указатель на a
CFArrayCallBacks
структура, инициализированная с обратными вызовами для запроса для использования для управления создаваемыми объектами результата. Копия содержания структуры обратных вызовов сделана, так, чтобы указатель на структуру на штабеле мог быть передан в или мог быть снова использован для многократных созданий запросов. Только версия 0CFArrayCallBacks
поддерживается. Сохранить поле может бытьNULL
, когда MDQuery не добавит сохранение к создаваемым результатам для запроса. Поле выпуска может бытьNULL
, когда MDQuery не удалит запрос, сохраняют (такие как тот, который это получает от создать функции) на объектах результата, когда уничтожается запрос. ЕслиcopyDescription
полеNULL
, запрос создаст простое описание для объектов результата. Еслиequal
полеNULL
, запрос будет использовать равенство указателя для тестирования на равенство результатов. Этот параметр обратных вызовов сам может бытьNULL
когда это обрабатывается как структура действительной версии 0 со всеми полями NULL. Иначе, если какое-либо из полей не является допустимыми указателями на функции корректного типа, или этот параметр не является допустимым указателем на aCFArrayCallBacks
структура обратных вызовов, поведение не определено. Если какое-либо из значений значения, возвращенных из создать функции, не является тем, понятым под один или больше функций обратного вызова, поведение, когда те функции обратного вызова используются, не определено. Например, если может возвратиться создать функция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
или не ведет себя как aMDQuerySortComparatorFunction
должен, поведение быть неопределенным.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
или не ведет себя как aMDQueryCreateValueFunction
должен, поведение быть неопределенным.context
Определяемое пользователем значение размера указателя, передающееся как третий параметр создать функции. MDQuery не использует это значение, не сохраняет контекст всегда и требует, чтобы контекст был допустим для времени жизни запроса. Если контекст не то, что ожидается создать функцией, поведение не определено.
cb
Указатель на структуру CFArrayCallBacks, инициализированную с обратными вызовами для запроса для использования для управления создаваемыми объектами значения. Копия содержания структуры обратных вызовов сделана, так, чтобы указатель на структуру на штабеле мог быть передан в или мог быть снова использован для многократных созданий запросов. Только версия 0
CFArrayCallBacks
поддерживается. Сохранить поле может бытьNULL
, когда MDQuery не добавит сохранение к созданным ценностям. Поле выпуска может бытьNULL
, когда MDQuery сделает, ничто для удаления запроса не сохраняет (такие как тот, который это получает от создать функции) на объектах значения, когда уничтожается запрос. ЕслиcopyDescription
полеNULL
, запрос создаст простое описание для объектов значения. Еслиequal
полеNULL
, запрос будет использовать равенство указателя для тестирования на равенство значений. Этот параметр обратных вызовов сам может бытьNULL
когда это обрабатывается как структура действительной версии 0 со всеми полямиNULL
. Иначе, если какое-либо из полей не является допустимыми указателями на функции корректного типа, или этот параметр не является допустимым указателем на aCFArrayCallBacks
структура обратных вызовов, поведение не определено. Если какое-либо из значений значения, возвращенных из создать функции, не является тем, понятым под один или больше функций обратного вызова, поведение, когда те функции обратного вызова используются, не определено. Например, если может возвратиться создать функцияNULL
, тогдаNULL
должен быть понят под функциями обратного вызова как возможный параметр. Обратные вызовы сохранения и выпуска должны быть соответствующим набором, Вы не должны предполагать, что сохранить функция будет не использована или что дополнительные подсчеты ссылок не будут взяты на создаваемых результатах.Обсуждение
Ценности, созданные после создать функции, установлены, будет создаваться с помощью недавно указанной функции, но не изменяются существующие значения. Не желательно изменить эту функцию после
MDQueryExecute
был вызван с запросом.Оператор импорта
Objective C
@import CoreServices;
Swift
import CoreServices
Доступность
Доступный в OS X v10.4 и позже.
-
Выполните запрос и заполните запрос с результатами.
Объявление
Swift
func MDQueryExecute(_
query
: MDQuery!, _optionFlags
: CFOptionFlags) -> BooleanObjective 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!) -> BooleanObjective 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!) -> CFIndexObjective 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>) -> CFIndexObjective 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!) -> CFIndexObjective 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 и позже.
-
Функция обратного вызова раньше сортировала результаты запроса.
Объявление
Swift
typealias MDQuerySortComparatorFunction = CFunctionPointer<((UnsafePointer<Unmanaged<AnyObject>?>, UnsafePointer<Unmanaged<AnyObject>?>, UnsafeMutablePointer<Void>) -> CFComparisonResult)>
Параметры
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 и позже.
Обсуждение
Значение уместности указывает уместность содержания объекта результата. Уместность вычислена на основе значения самого результата, не на его отношении к другим результатам, возвращенным запросом.
Если элемент соответствует запрос посредством оценки других атрибутов, значение уместности для содержания объекта только, не на элементе результата в целом, и не может быть вычислено
Если значение не вычислено, оно обрабатывается как атрибут на не существующем элементе.
-