Ios CKFetchRecordChangesOperation返回的clientChangeToken是什么?

Ios CKFetchRecordChangesOperation返回的clientChangeToken是什么?,ios,objective-c,swift,icloud,cloudkit,Ios,Objective C,Swift,Icloud,Cloudkit,我正在开发一个启用了CloudKit的应用程序,并使用CloudKit与iCloud同步的本地CoreData缓存。我正在使用CKFetchRecordChangesOperation类来获取新的、更改的和删除的记录。返回的CKServerChangeToken用于每次连续提取ckModifyRecords操作用于添加和删除记录 如果使用CKModifyRecordsOperation添加记录,操作将返回新的CKRecord。然后,如果我使用CKFetchRecordChangesOperati

我正在开发一个启用了
CloudKit
的应用程序,并使用
CloudKit
与iCloud同步的本地
CoreData
缓存。我正在使用
CKFetchRecordChangesOperation
类来获取新的、更改的和删除的记录。返回的
CKServerChangeToken
用于每次连续提取<代码>ckModifyRecords操作用于添加和删除记录

如果使用
CKModifyRecordsOperation
添加记录,操作将返回新的
CKRecord
。然后,如果我使用
CKFetchRecordChangesOperation
执行新的获取,则会再次获取新添加的记录,这是不必要的。有人知道如何防止这种行为吗


我知道在
CKModifyRecordsOperation
上有一个名为
clientChangeTokenData
的属性,类型为
NSData
,但是从
CKFetchRecordChangesOperation
返回的
clientChangeTokenData
由于某种原因总是
nil

除了以前的ServerChangeToken之外,没有用于控制CKFetchRecordChangesOperation应返回的内容的其他机制。它只会返回更改。这将包括您自己所做的更改

如果这是一个问题,那么您可以尝试改用订阅。默认情况下,这些将排除您自己所做的更改