我创建了CKQuerySubscription
来监视CKRecord
的远程插入,修改和删除。对于插入和修改的记录,这很好用,因为我可以向CloudKit
查询受影响的CKRecord
,获取关联的NSManagedObject
,然后从那里处理插入和修改。
对于已删除的CKRecord
,这是一个问题,因为到通知被触发时,CKRecord
已从CloudKit
中删除。这意味着获取现在已删除的CKRecord
的获取请求失败,因此我无法知道哪个NSManagedObject
与已删除的CKRecord
相关联。
我不知道我是否打算用所有错误的方式,是否有更简单的方法来处理所有这些!
这有效,但感觉有点笨拙。一定有更简单的方法!但是,如果没有,如果此代码对其他任何人有用,请随意注释是否希望在未显示的任何辅助方法中使用该代码(例如+[CoreDataFunctions fetchRecordsForEntityType: withCloudIDs: completion:]
方法中的代码);