8

我一直在摆弄 CloudKit 一段时间,但我找不到如何使用CKRecordZone的真实示例。我了解他们的能力(即,对记录进行分组,尤其是对于订阅),但是有人有使用过它们的真实体验,并映射出哪个概念吗?

谢谢

4

3 回答 3

7

Apple News 应用程序使用私人数据库中的两个区域来存储用户信息:ReadingList 和 ReadingHistory。ReadingList 存储已添加书签的新闻文章 ID;ReadingHistory 存储已阅读的新闻文章 ID。通过将文章 ID 分成两个不同的区域,可以有效地同步它们。例如,如果一篇文章只在一个设备上阅读(并且没有添加书签),那么另一个设备会收到一个通知,即 ReadingHistory 区域已更改,那么它只需同步该区域而不是同时同步两者。有关更多信息,您可以在此处阅读我关于新闻应用程序同步行为的完整文章。

于 2017-01-16T21:45:56.200 回答
6

CloudKit 记录区为您提供三个主要好处:

  1. 它允许您执行原子操作(全部或不应用任何更改)
  2. 它为您提供了同步功能,因此您可以从以前的时间点(使用更改令牌)获取记录更改,而不必每次与服务器交谈时都下载完整的记录列表。
  3. 它对于对属于一起的记录进行逻辑分组很有用。
于 2015-06-14T19:29:22.703 回答
5

此外,当您想要创建一个监控指定记录区域(基于区域,而不是基于查询)中的所有记录的 CKSubscription 时,它可能很有用。

于 2015-05-19T09:04:07.187 回答