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

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

Разработчик

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

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

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

CKFetchRecordsOperation

A CKFetchRecordsOperation объект получает CKRecord объекты (чей IDs Вы уже знаете) от iCloud. Используйте эту работу для получения всего содержания каждой записи или только подмножества ее содержавших значений. Поскольку записи становятся доступными, прогресс отчетов объекта операции о состоянии работы к нескольким различным блокам, которые можно использовать для обработки результатов.

Даже если Ваше приложение не кэширует рекордный IDs локально, выборка записей является общим использованием CloudKit. Например, когда Вы выбираете запись, связанную с текущей записью через a CKReference объект, Вы используете ID в ссылке для выполнения выборки.

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

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

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

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


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


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


Swift

import CloudKit

Objective C

@import CloudKit;

Доступность


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

    Объявление

    Swift

    convenience init!(recordIDs recordIDs: [AnyObject]!)

    Objective C

    - (instancetype)initWithRecordIDs:(NSArray *)recordIDs

    Параметры

    recordIDs

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

    Если какой-либо из объектов в массиве не CKRecordID объекты, этот метод повышает исключение.

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

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

    Обсуждение

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

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

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

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

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

  • Возвращает объект операции, который может использоваться для выборки текущей пользовательской записи.

    Объявление

    Swift

    class func fetchCurrentUserRecordOperation() -> Self!

    Objective C

    + (instancetype)fetchCurrentUserRecordOperation

    Обсуждение

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

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

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

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

  • recordIDs recordIDs Свойство

    Массив IDs, соответствующего записям на выборку.

    Объявление

    Swift

    var recordIDs: [AnyObject]!

    Objective C

    @property(nonatomic, copy) NSArray *recordIDs

    Обсуждение

    Используйте это свойство, чтобы просмотреть или изменить IDs записей, которые Вы хотите получить. Каждый элемент в массиве должен быть a CKRecordID объект. Если Вы использовали fetchCurrentUserRecordOperation метод для создания объекта операции содержание этого свойства проигнорировано, и значение установлено в nil.

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

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

    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 perRecordProgressBlock: ((CKRecordID!, Double) -> Void)!

    Objective C

    @property(nonatomic, copy) void (^perRecordProgressBlock)( CKRecordID *recordID, double progress)

    Обсуждение

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

    recordID

    ID получающейся записи.

    progress

    Сумма записи, загруженной, представляла как процент общего количества. Диапазон этого значения 0.0 к 1.0, где 0.0 средние значения ничто не было загружено, и 1.0 означает, что загрузка завершена.

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

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

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

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

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

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

    Объявление

    Swift

    var perRecordCompletionBlock: ((CKRecord!, CKRecordID!, NSError!) -> Void)!

    Objective C

    @property(nonatomic, copy) void (^perRecordCompletionBlock)( CKRecord *record, CKRecordID *recordID, NSError *error)

    Обсуждение

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

    record

    Полученная запись, или nil если не может быть получена указанная запись.

    recordID

    ID записи. Это значение соответствует одному из IDs, который Вы указали в recordIDs свойство.

    error

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

    Объект операции выполняет этот блок один раз для каждого рекордного ID в recordIDs свойство. Каждый раз, когда блок выполняется, он выполняется последовательно относительно других блоков прогресса работы.

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

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

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

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

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

    Объявление

    Swift

    var fetchRecordsCompletionBlock: (([NSObject : AnyObject]!, NSError!) -> Void)!

    Objective C

    @property(nonatomic, copy) void (^fetchRecordsCompletionBlock)( NSDictionary *recordsByRecordID, NSError *operationError)

    Обсуждение

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

    recordsByRecordID

    Словарь, содержащий записи, полученные успешно. Каждый ключ в словаре является a CKRecordID объект, соответствующий записи, Вы запросили. Значение каждого ключа является соответствием CKRecord объект, полученный от базы данных.

    operationError

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

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

    Этот блок сообщает об ошибке типа CKErrorPartialFailure когда это получает только некоторые записи успешно. userInfo словарь ошибки содержит a CKPartialErrorsByItemIDKey ключ, значение которого NSDictionary объект. Ключами того словаря является IDs записей, не полученных, и соответствующие значения являются ошибочными объектами, содержащими информацию о том, что произошло.

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

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

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

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