Ссылка 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 );Параметры
allocatorCFAllocator возражают, чтобы использоваться для выделения памяти для нового объекта. Передача
NULLилиkCFAllocatorDefaultиспользовать текущее средство выделения по умолчанию.queryStringВыражение запроса представляет в виде строки для этого запроса.
valueListAttrsДополнительный массив названий атрибута. Запрос соберет значения этих атрибутов в списки uniqued, которые могут использоваться, чтобы суммировать результаты запроса и позволить пользователю далее квалифицировать поиск. Этот параметр может быть
NULLесли не требуются никакие списки значения. Набор списка значения увеличивает использование CPU и значительно увеличивает использование памяти MDQuery. Названиями атрибута является Кфстрингс.sortingAttrsN массив названий атрибута раньше сортировал результаты, или
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 );Параметры
allocatorCFAllocator возражают, чтобы использоваться для выделения памяти для нового объекта. Передайте NULL или
kCFAllocatorDefaultиспользовать текущее средство выделения по умолчанию.queryРодительский запрос
queryStringВыражение запроса представляет в виде строки для этого запроса.
valueListAttrsДополнительный массив названий атрибута. Запрос соберет значения этих атрибутов в списки uniqued, которые могут использоваться, чтобы суммировать результаты запроса и позволить пользователю далее квалифицировать поиск. Этот параметр может быть
NULLесли не требуются никакие списки значения. Набор списка значения увеличивает использование CPU и значительно увеличивает использование памяти MDQuery. Названиями атрибута является Кфстрингс.sortingAttrsN массив названий атрибута раньше сортировал результаты, или
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Объект запроса изменить.
scopeDirectoriesCFArray 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Экземпляр запроса.
itemMDItemRef по умолчанию для результата.
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 = MDQueryObjective 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;Константы
-
kMDQuerySynchronouskMDQuerySynchronousУказывает, что запрос должен блокировать во время начальной буквы, собирают фазу. Цикл выполнения запроса будет работать в режиме по умолчанию. Если эта опция не указана, функция запроса сразу возвращается после запуска запроса асинхронно.
Доступный в OS X v10.4 и позже.
-
kMDQueryWantsUpdateskMDQueryWantsUpdatesУказывает, что запрос должен обеспечить живые обновления для списка результата после начальной сборочной фазы. Обновления происходят во время фазы живого обновления, если изменение в файле происходит таким образом, что это больше не соответствует запрос или если это начинает соответствовать запрос. Файлы, начинающие соответствовать запрос, добавляются к списку результата, и файлы, больше не соответствующие выражение запроса, удалены из списка результата. В настоящее время эта опция проигнорирована если
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;Константы
-
kMDQueryDidFinishNotificationkMDQueryDidFinishNotificationОтправленный, чтобы указать, что запрос закончил начальную собирающую результат фазу.
Доступный в OS X v10.4 и позже.
Обсуждение
Список результатов запроса не обновляется в результате этого уведомления.
Это уведомление только отправляется центру уведомления приложения.
-
-
Указывает, что список результатов запроса имеет изменение во время фазы живого обновления запроса.
Объявление
Swift
let kMDQueryDidUpdateNotification: CFString!Objective C
const CFStringRef kMDQueryDidUpdateNotification;Константы
-
kMDQueryDidUpdateNotificationkMDQueryDidUpdateNotificationУведомление отправило, чтобы указать, что изменение произошло со списком результатов запроса во время фазы живого обновления выполнения запроса.
Доступный в OS X v10.4 и позже.
Обсуждение
Информационный словарь уведомления может содержать
kMDQueryUpdateAddedItems,kMDQueryUpdateChangedItems, иkMDQueryUpdateRemovedItemsключи.Это уведомление только отправляется центру уведомления приложения.
-
-
Указывает, что список результатов запроса имеет изменение во время начальной собирающей результат фазы запроса.
Объявление
Swift
let kMDQueryProgressNotification: CFString!Objective C
const CFStringRef kMDQueryProgressNotification;Константы
-
kMDQueryProgressNotificationkMDQueryProgressNotificationУведомление отправило, чтобы указать, что изменение произошло со списком результатов запроса во время начальной собирающей результат фазы выполнения.
Доступный в 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;Константы
-
kMDQueryUpdateAddedItemskMDQueryUpdateAddedItemsМассив, идентифицирующий элементы, добавленные к результатам запроса. Этот список только содержит объекты результата, ранее созданные, несозданные объекты результата не включены.
Доступный в OS X v10.4 и позже.
-
kMDQueryUpdateChangedItemskMDQueryUpdateChangedItemsМассив, идентифицирующий элементы, изменившиеся в результатах запроса. Этот список только содержит объекты результата, ранее созданные, несозданные объекты результата не включены.
Доступный в OS X v10.4 и позже.
-
kMDQueryUpdateRemovedItemskMDQueryUpdateRemovedItemsМассив, идентифицирующий элементы, удаленные из результатов запроса. Этот список только содержит объекты результата, ранее созданные, несозданные объекты результата не включены.
Доступный в 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;Константы
-
kMDQueryScopeHomekMDQueryScopeHomeУказывает, что запрос должен быть ограничен объемом и каталогом, содержащим корневой каталог текущего пользователя.
Доступный в OS X v10.4 и позже.
-
kMDQueryScopeComputerkMDQueryScopeComputerУказывает, что запрос должен быть ограничен всеми локально смонтированными объемами плюс корневой каталог пользователя (который может быть на удаленном объеме).
Доступный в OS X v10.4 и позже.
-
kMDQueryScopeNetworkkMDQueryScopeNetworkУказывает, что запрос должен включать смонтированные удаленные объемы всего пользователя.
Доступный в OS X v10.4 и позже.
-
kMDQueryScopeAllIndexedkMDQueryScopeAllIndexedУказывает, что поиск должен быть ограничен индексируемыми, локально смонтированными объемами, и индексируемый пользователь смонтировал удаленные объемы плюс корневой каталог пользователя.
Доступный в OS X v10.6 и позже.
-
kMDQueryScopeComputerIndexedkMDQueryScopeComputerIndexedУказывает, что поиск должен быть ограничен индексируемыми, локально смонтированными объемами плюс корневой каталог пользователя (который может быть на удаленном объеме).
Доступный в OS X v10.6 и позже.
-
kMDQueryScopeNetworkIndexedkMDQueryScopeNetworkIndexedУказывает, что поиск должен включать смонтированные удаленные объемы индексированного пользователя.
Доступный в OS X v10.6 и позже.
Обсуждение
Эти константы могут быть переданы в
scopeDirectoriesвыстройте к функцииMDQuerySetSearchScope. -
-
Ключ использовал в пользовательском словаре описания уведомления, указывающем уместность результата.
Объявление
Swift
let kMDQueryResultContentRelevance: CFString!Objective C
const CFStringRef kMDQueryResultContentRelevance;Константы
-
kMDQueryResultContentRelevancekMDQueryResultContentRelevanceCFNumberRef со значением с плавающей точкой между 0,0 и 1.0 включительно.
Доступный в OS X v10.4 и позже.
Обсуждение
Значение уместности указывает уместность содержания объекта результата. Уместность вычислена на основе значения самого результата, не на его отношении к другим результатам, возвращенным запросом.
Если элемент соответствует запрос посредством оценки других атрибутов, значение уместности для содержания объекта только, не на элементе результата в целом, и не может быть вычислено
Если значение не вычислено, оно обрабатывается как атрибут на не существующем элементе.
-
