core-data - CoreData+CloudKit iOS13 NSPersistentStoreRemoteChangeNotification

标签 core-data cloudkit ios13

我正在使用 CoreData+CloudKit NSPersistentCloudKitContainer自动同步数据到CloudKit .

我一直在查看 Apple 提供的示例应用程序,了解如何监听远程商店更改通知并阅读历史更改。执行相同的操作后,我注意到 NSPersistentStoreRemoteChangeNotification被解雇多次。每次 App 启动时,即使数据没有变化,历史变化也会显示对所有实体的插入,这真的很令人困惑。

您如何可靠地检查是否确实向实体添加了记录?以及如何处理同时触发的多个通知?

最佳答案

创建 NSPersistentHistoryToken 的实例跟踪您处理过的最新历史记录。在保存和使用期间设置交易 NSPersistentHistoryTransaction的谓词只获取其他作者。
有关更多详细信息,请参阅 Consuming Relevant Store Changes. 中的“跟踪您在历史中的位置”

关于core-data - CoreData+CloudKit iOS13 NSPersistentStoreRemoteChangeNotification,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59393352/

相关文章:

ios - 如何重置角标(Badge)应用程序图标数量?

php - 将 JSON 保存到核心数据

ios - 带有核心数据的异步图像下载

ios - 在应用程序内登录 iCloud

swift/Cloudkit : Handling user-changes while pulling

ios - MFMailComposeViewController 不发送电子邮件或关闭

ios - 在添加和删除第二个按钮时,在SwiftUI中保持导航项按钮对齐

iphone - 我使用哪个 NSMergePolicy?

ios - 重建时持久存储条目保留但数据为空

swift - 在 UISearchController 中按取消后导航栏被阻止