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

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

Разработчик

Ссылка платформы CloudKit ссылка класса CKQueryOperation

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

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

CKQueryOperation

A CKQueryOperation объект является конкретной работой, которую можно использовать для выполнения запросов против базы данных. Работа запроса берет параметры запроса, которые Вы обеспечиваете, и применяет те параметры к указанной базе данных и зоне, поставляя любые записи соответствия асинхронно на блоки, которые Вы обеспечиваете.

Выполнять новый поиск:

  1. Инициализируйте a CKQueryOperation объект с a CKQuery объект, содержащий критерии поиска и сортирующий информацию для записей, Вы хотите.

  2. Присвойте блок queryCompletionBlock свойство так, чтобы можно было обработать результаты и выполнить работу.

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

  3. Дополнительно сконфигурируйте результаты возврата путем указания значений для resultsLimit и desiredKeys свойства.

  4. Передайте объект операции запроса addOperation: метод целевой базы данных для выполнения работы против той базы данных.

Запросы ограничиваются записями в единственной зоне. Для новых запросов Вы указываете зону при инициализации объекта операции запроса. Для основанных на курсоре запросов курсор содержит зональную информацию. Для поиска записей в многократных зонах необходимо создать отдельное CKQueryOperation объект для каждой зоны, которую Вы хотите искать, несмотря на то, что можно инициализировать каждого из них с тем же CKQuery объект.

Если Вы присваиваете блок завершения completionBlock свойство объекта операции, блок завершения вызывают после того, как работа выполняет и возвращает свои результаты Вам. Вы можете использовать блок завершения для выполнения работы по дому обслуживания, связанной с работой, но не используете ее для обработки результатов самой работы. Любой блок завершения, который Вы указываете, должен быть подготовлен обработать отказ работы выполнить ее задачу, ли вследствие ошибки или явной отмены.

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


Соответствует


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


Swift

import CloudKit

Objective C

@import CloudKit;

Доступность


Доступный в OS X v10.10 и позже.
  • Инициализирует и возвращает объект операции, сконфигурированный для поиска записей в указанной зоне.

    Объявление

    Swift

    convenience init!(query query: CKQuery!)

    Objective C

    - (instancetype)initWithQuery:(CKQuery *)query

    Параметры

    query

    Запрос для использования во время поиска. Этот параметр не должен быть nil.

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

    Инициализированный объект операции.

    Обсуждение

    Можно использовать возвращенный CKQueryOperation возразите только один раз для выполнения поиска, но объект Вы указываете в query параметр может быть снова использован по мере необходимости. Когда выполняется, этот объект запроса выполняет новый поиск и возвращает первый пакет результатов. Если существует больше доступных результатов, необходимо создать отдельный объект запроса использование предоставленного объекта курсора.

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

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

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

  • Инициализирует и возвращает объект операции, возвращающий больше результатов предыдущего поиска.

    Объявление

    Swift

    convenience init!(cursor cursor: CKQueryCursor!)

    Objective C

    - (instancetype)initWithCursor:(CKQueryCursor *)cursor

    Параметры

    cursor

    Объект курсора идентификация предыдущего поиска. Это значение передается блоку завершения предыдущего поиска. Для получения дополнительной информации посмотрите queryCompletionBlock свойство.

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

    Инициализированный объект операции, готовый продолжать поиск.

    Обсуждение

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

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

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

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

  • запрос запрос Свойство

    Запрос для использования для поиска.

    Объявление

    Swift

    @NSCopying var query: CKQuery!

    Objective C

    @property(nonatomic, copy) CKQuery *query

    Обсуждение

    Вы устанавливаете начальное значение этого свойства с initWithQuery: метод. Когда значение в cursor свойство nil, работа запроса использует CKQuery объект в этом свойстве, чтобы выполнить новый поиск и возвратить результаты Вашему обработчику завершения. Если значение курсора не nil, курсор используется вместо этого.

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

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

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

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

  • курсор курсор Свойство

    Курсор данных для использования для продолжения поиска.

    Объявление

    Swift

    @NSCopying var cursor: CKQueryCursor!

    Objective C

    @property(nonatomic, copy) CKQueryCursor *cursor

    Обсуждение

    Вы устанавливаете начальное значение этого свойства с initWithCursor: метод. Когда Вы используете курсор, содержание query свойство проигнорировано. Курсор данных, сохраненный в этом свойстве, является непрозрачным объектом, который предоставлен для Вас сервером. Для получения дополнительной информации о получении этого курсора, посмотрите queryCompletionBlock свойство.

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

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

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

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

  • zoneID zoneID Свойство

    ID зоны, содержащей записи на поиск.

    Объявление

    Swift

    @NSCopying var zoneID: CKRecordZoneID!

    Objective C

    @property(nonatomic, copy) CKRecordZoneID *zoneID

    Обсуждение

    Когда установлено, значение этого свойства ограничивает объем поиска к записям в указанной зоне. Если никакая зона не указана, поиск имеет место в зоне по умолчанию контейнера.

    Когда Вы инициализируете объект операции с помощью initWithCursor: метод, значение этого свойства установлено в nil и проигнорированы любые изменения, которые Вы вносите в свойство. Когда объект операции выполняется, объект курсора предоставляет зональную информацию от начального поиска, генерировавшего курсор.

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

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

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

  • resultsLimit resultsLimit Свойство

    Максимальное количество записей для возврата когда-то.

    Объявление

    Swift

    var resultsLimit: Int

    Objective C

    @property(nonatomic, assign) NSUInteger resultsLimit

    Обсуждение

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

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

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

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

  • desiredKeys desiredKeys Свойство

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

    Объявление

    Swift

    var desiredKeys: [AnyObject]!

    Objective C

    @property(nonatomic, copy) NSArray *desiredKeys

    Обсуждение

    Используйте это свойство для ограничения объема данных, полученного для каждой записи во время поисковой работы. Значение является массивом NSString объекты, каждый из которых содержит имя поля от целевых записей. При получении данного рекордного, только полей, имена которых соответствуют, один из указанных ключей включены в возвращенную запись. Если Вы указываете nil, работа получает все ключи для записи. Значение по умолчанию этого свойства nil.

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

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

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

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

  • Блок для выполнения для каждой записи, возвращенной запросом.

    Объявление

    Swift

    var recordFetchedBlock: ((CKRecord!) -> Void)!

    Objective C

    @property(nonatomic, copy) void (^recordFetchedBlock)( CKRecord *record)

    Обсуждение

    Блок не возвращает значения и берет следующий параметр:

    record

    A CKRecord объект, соответствующий критерии поиска.

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

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

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

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

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

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

    Объявление

    Swift

    var queryCompletionBlock: ((CKQueryCursor!, NSError!) -> Void)!

    Objective C

    @property(nonatomic, copy) void (^queryCompletionBlock)( CKQueryCursor *cursor, NSError *operationError)

    Обсуждение

    Блок не возвращает значения и берет следующие параметры:

    cursor

    A CKQueryCursor указывающий объект существует больше результатов выбрать или nil если параметр результатов содержит все остающиеся результаты поиска. Используйте предоставленный объект инициализировать новый объект операции запроса, когда Вы будете готовы получить следующий пакет результатов.

    operationError

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

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

    Когда результаты работы запроса известны, объект операции использует этот блок для поставки доступного набора записей на приложение. Если число записей превышает значение в resultsLimit, объект операции обеспечивает непрозрачный объект данных в cursor параметр Вашего блока, который можно использовать для получения следующего пакета результатов. Необходимо создать отдельный объект операции с помощью того курсора для получения следующего пакета результатов.

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

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

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

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

    Объявление

    Swift

    let CKQueryOperationMaximumResults: Int

    Objective C

    const NSUInteger CKQueryOperationMaximumResults;

    Константы

    • CKQueryOperationMaximumResults

      CKQueryOperationMaximumResults

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

      Эта константа является значением по умолчанию, присвоенным resultsLimit свойство.

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