CKFetchNotificationChangesOperation
Наследование
-
NSObject -
NSOperation -
CKOperation -
CKFetchNotificationChangesOperation
-
NSObject -
NSOperation -
CKOperation -
CKFetchNotificationChangesOperation
Оператор импорта
Swift
import CloudKit
Objective C
@import CloudKit;
Доступность
Доступный в iOS 8.0 и позже.
A CKFetchNotificationChangesOperation объект получает непрочитанный CKNotification объекты от контейнера. Объекты уведомления содержат данные, связанные с уведомлениями нажатия, уже отправленными в приложение. Уведомление выборки возражает для идентификации изменений, которые приложение, возможно, пропустило или получать полную полезную нагрузку уведомления нажатия, которая, возможно, была усеченной, когда это было поставлено устройству.
После выборки текущих уведомлений можно отметить некоторых или всех их, как считано использующих a CKMarkNotificationsReadOperation объект. При отмечании уведомления, поскольку чтение препятствует тому, чтобы он был возвращен последующими операциями выборки.
Блоки, которые Вы присваиваете для обработки выбранных уведомлений, выполняются последовательно на внутренней очереди, которой управляет объект операции. Ваши блоки должны быть способны к выполнению на фоновом потоке, таким образом, любые задачи, требующие доступа к основному потоку, должны быть перенаправлены соответственно.
Если Вы присваиваете блок завершения completionBlock свойство объекта операции, блок завершения вызывают после того, как работа выполняет и возвращает свои результаты Вам. Вы можете использовать блок завершения для выполнения работы по дому обслуживания, связанной с работой, но не используете ее для обработки результатов самой работы. Любой блок завершения, который Вы указываете, должен быть подготовлен обработать отказ работы выполнить ее задачу, ли вследствие ошибки или явной отмены.
-
Инициализирует и возвращает набор объекта операции для выборки изменений уведомления.
Объявление
Swift
init!(previousServerChangeTokenpreviousServerChangeToken: CKServerChangeToken!)Objective C
- (instancetype)initWithPreviousServerChangeToken:(CKServerChangeToken *)previousServerChangeTokenПараметры
previousServerChangeTokenМаркер изменения от предыдущей работы выборки, или
nilвыбирать все изменения. При указании маркера изменения объект операции выбирает только изменения, произошедшие, так как маркер изменения был сгенерирован.Возвращаемое значение
Инициализированный объект операции.
Обсуждение
В первый раз Вы выбираете уведомления, указываете
nilдляpreviousServerChangeTokenполучить информацию обо всех отправленных уведомлениях нажатия. Когда та работа заканчивает выполняться, она передает маркер изменения Вашему блоку завершения. Сохраните тот маркер изменения и используйте его для инициализации новых объектов операции, выбирающих только недавно сгенерированные объекты уведомления.Если Вы отмечаете одно или более уведомлений, как считано использующих a
CKMarkNotificationsReadOperationдаже если Вы указываете, объект, те уведомления не возвращаютсяnilдляpreviousServerChangeToken.Оператор импорта
Objective C
@import CloudKit;Swift
import CloudKitДоступность
Доступный в iOS 8.0 и позже.
-
previousServerChangeTokenСвойствоМаркер изменения от предыдущей работы выборки.
Объявление
Swift
@NSCopying var previousServerChangeToken: CKServerChangeToken!Objective C
@property(nonatomic, copy) CKServerChangeToken *previousServerChangeTokenОбсуждение
Присвойте маркер, который Вы получили ранее из
fetchNotificationChangesCompletionBlockблок завершения к этому свойству. Выполнение так приводит только к уведомлениям, поступившим начиная с Вашей последней работы выборки. Если Вы указываетеnilдля этого параметра работа запускает выбирающие уведомления в начале списка и возвращает всех кроме тех, которые были уже отмечены как чтение.Оператор импорта
Objective C
@import CloudKit;Swift
import CloudKitДоступность
Доступный в iOS 8.0 и позже.
-
resultsLimitСвойствоМаксимальное количество результатов выбрать с этой работой.
Объявление
Swift
var resultsLimit: IntObjective C
@property(nonatomic, assign) NSUInteger resultsLimitОбсуждение
Используйте это свойство для ограничения числа уведомлений нажатия, обработанных в одной работе. Когда предел результатов достигнут, объект операции обновляет исходный маркер, Вы обеспечили и возвращаете его Вам, чтобы сообщить, что больше результатов доступно.
Оператор импорта
Objective C
@import CloudKit;Swift
import CloudKitДоступность
Доступный в iOS 8.0 и позже.
-
moreComingСвойствоБулево значение, указывающее, что больше уведомлений ожидает, чтобы быть поставленным. (только для чтения)
Объявление
Swift
var moreComing: Bool { get }Objective C
@property(nonatomic, readonly) BOOL moreComingОбсуждение
Получите доступ к этому свойству только от Вашего
fetchNotificationChangesCompletionBlockблок. Когда значениеYEStrue, Ваш блок завершения должен создать другогоCKFetchNotificationChangesOperationобъект и использование это для выборки следующего пакета результатов. Используйте маркер изменения, переданный Вашему блоку завершения для конфигурирования нового объекта операции. Указание маркера изменения препятствует тому, чтобы новый объект операции возвратил более старые уведомления.Оператор импорта
Objective C
@import CloudKit;Swift
import CloudKitДоступность
Доступный в iOS 8.0 и позже.
См. также
-
notificationChangedBlockСвойствоБлок, обрабатывающий единственное уведомление нажатия.
Объявление
Swift
var notificationChangedBlock: ((CKNotification!) -> Void)!Objective C
@property(nonatomic, copy) void (^notificationChangedBlock)( CKNotification *notification)Обсуждение
Блок не возвращает значения и берет следующий параметр:
notificationCKNotificationобъект, соответствующий уведомлению нажатия. Фактический объект, переданный этому методу, является конкретным подклассомCKNotificationэто содержит определенные подробные данные об источнике изменения.Объект операции выполняет этот блок один раз для каждого найденного уведомления нажатия. Каждый раз, когда блок выполняется, он выполняется последовательно относительно других блоков прогресса работы.
Если Вы намереваетесь использовать этот блок для обработки результатов, установите его прежде, чем выполнить работу или представить объект операции очереди.
Оператор импорта
Objective C
@import CloudKit;Swift
import CloudKitДоступность
Доступный в iOS 8.0 и позже.
-
Блок, выполняющийся после всех требуемых уведомлений, выбирается.
Объявление
Swift
var fetchNotificationChangesCompletionBlock: ((CKServerChangeToken!, NSError!) -> Void)!Objective C
@property(nonatomic, copy) void (^fetchNotificationChangesCompletionBlock)( CKServerChangeToken *serverChangeToken, NSError *operationError)Обсуждение
Блок не возвращает значения и берет следующие параметры:
serverChangeTokenНепрозрачный объект, который можно использовать во время последующих операций выборки для получения следующего пакета уведомлений.
operationErrorОшибочный объект, содержащий информацию о проблеме, или
nilесли результаты получены успешно.Объект операции выполняет этот блок только один раз, представляющий Ваш последний шанс обработать результаты работы. Этот блок выполняется после всех отдельных блоков прогресса, но перед блоком завершения работы. Блок выполняется последовательно относительно других блоков прогресса работы.
Если Вы намереваетесь использовать этот блок для обработки результатов, установите его прежде, чем выполнить работу или представить объект операции очереди.
В Вашем блоке проверьте значение
moreComingсвойство, чтобы определить, существует ли больше результатов, ожидающих на сервере. Если значение того свойстваYEStrue, используйте значение вserverChangeTokenпараметр для конфигурирования новогоCKFetchNotificationChangesOperationвозразите для выборки следующего пакета результатов.Оператор импорта
Objective C
@import CloudKit;Swift
import CloudKitДоступность
Доступный в iOS 8.0 и позже.
См. также
