如何更灵活的处理 CloudKit 从云端同步到本地的 CoreData 托管对象

Posted 大熊猫侯佩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何更灵活的处理 CloudKit 从云端同步到本地的 CoreData 托管对象相关的知识,希望对你有一定的参考价值。



功能需求

在开发 iCloud 云端存储支持的App时,使用 CloudKit 默认会从云端同步所有的记录到本地 CoreData 数据库中。

这意味着如果云端的记录被新建、删除或更新,这些改变都会触发本地数据库中托管对象的更新。

但在某些情况下,我们不希望本地的某些托管对象被云端更新,比如本地的单例托管对象:App中的设置应该保存且只保存在唯一的一个托管对象(比如 Settings 对象)中。

所以,无论有多少个 App 在多少台设备上运行,云端都只能有唯一条 Setttings 记录存在!

在本篇博文中,您将学到以下内容:

  • App 如何在 iCloud 触发本地更改时得到通知
  • 如何将数据库中需要云同步和只需本地存储的数据分开存放
  • 如何获得云同步更改类型:新建、删除或更新等
  • 如何妥善处理好单例托管对象的云同步

请系好安全带,本次航行将穿越一片未知的星云…

Let‘s go!!!

以上是关于如何更灵活的处理 CloudKit 从云端同步到本地的 CoreData 托管对象的主要内容,如果未能解决你的问题,请参考以下文章

CloudKit 与沙盒用户同步测试

CloudKit 离线存储

CloudKit:如何使用本地持久存储处理帐户更改?

CloudKit 如何与多个设备同步?

将使用核心数据的 iOS 应用同步到云端

CloudKit 在 App Store 部署后不再工作