当previousServerToken 为null 时,CKFetchRecordChangesOperation 似乎需要多次通过才能下载第一组数据,然后重试直到moreComing 标志被清除。
这不是因为记录太多-在我的测试中,我只有大约 40 条成员记录,每条记录都属于 6 个组之一。
第一遍给出了两个格式错误的成员记录;第二遍有时会发送来自尚未下载的组的一些成员记录,或者什么也不发送。只有在第三遍之后,它才会按预期下载所有剩余的组和成员。
任何想法为什么会这样?
如果该区域中删除了大量记录,则可能会发生这种情况。服务器扫描该区域的所有更改,然后删除已删除记录的更改。有时这会导致一批更改为零记录更改,但 moreComing
设置为 true。
查看 iOS 10/macOS 10.12 中 CKFetchRecordZoneChangesOperation
上的新 fetchAllChanges
标志。 CloudKit 将为您管道获取更改请求,您只会看到记录更改和区域更改 token ,直到区域中的所有内容都已获取。
关于ios - CKFetchRecordChangesOperation 先返回垃圾数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37769529/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |