CloudKit Получить актуальный объект из идентификатора записи в OSX
Я пытаюсь использовать CKSubscription, чтобы подписаться на изменения. Я слежу за документами Apple, которые кажутся очень общими и неполными. Ссылка на Apple Doc
У меня есть пункт получения идентификатора записи, отправленного в мое приложение через didReceiveRemoteNotification
метод в AppDelegate
и у меня есть мой идентификатор записи: используя этот код:
func application(application: NSApplication, didReceiveRemoteNotification userInfo: [String : AnyObject]) {
let cknNotification = CKNotification(fromRemoteNotificationDictionary: userInfo as! [String:NSObject])
if cknNotification.notificationType == .Query,
let queryNotification = cknNotification as? CKQueryNotification {
let recordId = queryNotification.recordID
print(recordId)
}
Как я могу преобразовать CKNotification в Актуальные объекты, которые я храню в Cloudkit? Нужно ли выполнять другую выборку, или это данные, содержащиеся в CKNotification, которые мне просто нужно привести.
1 ответ
Похоже, я решил это.
Уведомление только позволяет вам знать, что они изменились. Вы должны сделать работу, чтобы получить новые записи и обновить их. (Имеет смысл действительно)
privateCloudDatabase (). fetchRecordWithID (recordId!, завершение, гандлер: { (запись извлечена, ошибка) в
//Check the Record Type if multiple.. I only have one type.
let myRecordType = recordfetched?.recordType
let myObject = mySuperObject(record: recordfetched!)
print("done")
})
// Я, вероятно, должен добавить дополнительную проверку, но выше просто иллюстрирует решение и то, как просто это получить.