CKQueryNotification
A CKQueryNotification
объект представляет уведомление нажатия, сгенерированное объектом подписки. Объекты подписки представляют персистентные запросы на сервере. Когда сервер обнаруживает изменение, связанное с подпиской, он отправляет уведомление нажатия клиенту, создавшему подписку и регистрирующему уведомление нажатия в контейнере. Вы используете экземпляры этого класса для получения информации о записи, вовлеченной в уведомление нажатия.
Вы не создаете экземпляры этого класса непосредственно. Когда Ваше приложение получит уведомление нажатия, вызовите notificationFromRemoteNotificationDictionary:
метод CKNotification
генерировать объект уведомления надлежащего типа. Можно выбрать ранее зарегистрированные уведомления от контейнера с помощью a CKFetchNotificationChangesOperation
объект. Если уведомление было инициировано вследствие объекта подписки, Вы получаете экземпляр этого класса с notificationType
набор свойств к CKNotificationTypeQuery
. Используйте тот объект получить связанную с записью информацию.
Если полезная нагрузка уведомления нажатия является слишком большой, части данных могут быть отброшены, пока это не находится под позволенным пределом размера. Данные, используемые для предупреждения пользователя, являются самыми важными и отбрасываются в последний раз. Значения данных в этом классе среди первого, которое будет отброшено со значениями, отбрасываемыми в следующем порядке:
containerIdentifier
— определенный вCKNotification
класс.Другие свойства
CKNotification
класс.
Наследование
-
NSObject
-
CKNotification
-
CKQueryNotification
-
NSObject
-
CKNotification
-
CKQueryNotification
Оператор импорта
Swift
import CloudKit
Objective C
@import CloudKit;
Доступность
Доступный в OS X v10.10 и позже.
-
Событие, инициировавшее поставку уведомления нажатия. (только для чтения)
Объявление
Swift
var queryNotificationReason: CKQueryNotificationReason { get }
Objective C
@property(nonatomic, readonly, assign) CKQueryNotificationReason queryNotificationReason
Обсуждение
Инициируемые в подписку уведомления инициированы созданием, удалением или обновлением единственной записи. Рассматриваемая запись должна соответствовать предикат, указанный объектом подписки для события, которое будет инициировано.
Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
isPublicDatabase isPublicDatabase
СвойствоБулево значение, указывающее, является ли запись в общедоступной базе данных. (только для чтения)
Объявление
Swift
var isPublicDatabase: Bool { get }
Objective C
@property(nonatomic, readonly, assign) BOOL isPublicDatabase
Обсуждение
Значение этого свойства
YES
true
если запись находится в общедоступной базе данных, илиNO
false
если это находится в частной базе данных текущего пользователя.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
Идентификатор записи, создававшейся, удалил или обновил. (только для чтения)
Объявление
Swift
@NSCopying var recordID: CKRecordID! { get }
Objective C
@property(nonatomic, readonly, copy) CKRecordID *recordID
Обсуждение
Используйте этот идентификатор для выборки записи от контейнера. Проверьте значение
isPublicDatabase
свойство для определения, который база данных выбрать его от.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
recordFields recordFields
СвойствоСловарь изменившихся полей. (только для чтения)
Объявление
Swift
var recordFields: [NSObject : AnyObject]! { get }
Objective C
@property(nonatomic, readonly, copy) NSDictionary *recordFields
Обсуждение
Для обновленных и недавно создаваемых записей это свойство содержит желаемые ключи, которые требует объект подписки. Когда Вы конфигурируете
CKNotificationInfo
объект объекта подписки, можно указать имена одного или более полей вdesiredKeys
свойство того информационного объекта уведомления. Когда уведомление нажатия инициировано, значения для каждого из тех ключей получен от записи и включен в полезную нагрузку уведомления нажатия, разрешение пространства.Для объектов уведомления запроса, выбранных от контейнера, присутствуют все ключи и значения. Для объектов уведомления запроса, сгенерированных из входящего уведомления нажатия, могут отсутствовать один или несколько ключей и значения. Продвиньте полезные нагрузки уведомления, ограничиваются в размере и записывают поля, одна из первых частей данных, которые будут исключены, когда превышен тот предел размера. Для получения информации о порядке, в котором удалены поля, см. обзор этого класса.
Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
Константы, указывающие событие, инициировавшее уведомление.
Объявление
Swift
enum CKQueryNotificationReason : Int { case RecordCreated case RecordUpdated case RecordDeleted }
Objective C
typedef enum CKQueryNotificationReason : NSInteger { CKQueryNotificationReasonRecordCreated = 1, CKQueryNotificationReasonRecordUpdated, CKQueryNotificationReasonRecordDeleted, } CKQueryNotificationReason;
Константы
-
RecordCreated
CKQueryNotificationReasonRecordCreated
Запись, соответствующая предикат подписки, создавалась.
Доступный в OS X v10.10 и позже.
-
RecordUpdated
CKQueryNotificationReasonRecordUpdated
Запись, соответствующая предикат подписки, была обновлена.
Доступный в OS X v10.10 и позже.
-
RecordDeleted
CKQueryNotificationReasonRecordDeleted
Запись, соответствующая предикат подписки, была удалена.
Доступный в OS X v10.10 и позже.
Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-