Rin*_*nov 10 ios cloudkit ckmodifyrecordsoperation
我正在我的应用程序中进行CloudKit同步("微小数据,所有设备"模型,私有数据库中的自定义区域).
CKModifyRecordsOperation包含文档中描述clientChangeTokenData的NSData类型属性,如下所示:
从提取操作修改记录时,请使用此属性指定客户端生成的数据标记,以指示上次修改的记录的版本.比较您在下一次记录提取中提供给数据令牌的数据令牌,以确认服务器已成功接收设备的上次修改请求.
我不明白为什么我应该打扰,因为每个请求,我得到一个完成块,告诉我服务器是否已成功收到我的请求.为什么我需要手动比较此客户端令牌?
是否clientChangeTokenData需要正确处理我的用例?我跟踪本地数据更改并在每次数据更改时推送队列中的所有内容.通过区域订阅跟踪远程更改.
如果需要,我如何正确生成此令牌,因为我的所有记录更改CKModifyRecordsOperation(我的API使用目的是批处理操作).这里的一般工作流程是什么?
谢谢.
从文档中尚不清楚,所以我猜这clientChangeTokenData在发送大型修改记录操作(例如删除 100 条记录)的情况下很有用。然后假设您的应用程序在另一个操作中发送了一个带有查询(或获取更改)结果集的获取请求,该结果集将受到以下修改的影响:
如果获取完成包含的内容clientChangeTokenData与随修改一起发送的内容不同,那么您就知道它尚未收到(或完成处理?)更改。在这种情况下,您可能会出错,并发出警报,指出服务器需要更多时间,或者在一段时间后自动重试提取。
顺便说一句,在我的测试中,这个令牌是针对每个设备的。
只有当您有想要写入 CloudKit 的本地更改并且希望确保您的更改基于 CloudKit 中数据的最新版本时,您才有理由检查令牌。
您也可以忽略令牌并保存数据。如果数据同时发生变化,您将收到 CloudKit 错误,然后您可以处理它。
| 归档时间: |
|
| 查看次数: |
686 次 |
| 最近记录: |