CKFetchRecordChangesOperation返回的clientChangeToken是什么?

时间:2014-12-20 14:16:33

标签: ios objective-c swift icloud cloudkit

我正在开发一个启用了CloudKit的应用和一个使用CoreData与iCloud同步的本地CloudKit缓存。我正在使用CKFetchRecordChangesOperation类来获取新的,已更改的和已删除的记录。返回的CKServerChangeToken用于每次连续提取。 CKModifyRecordsOperation用于添加和删除记录。

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

我知道clientChangeTokenData上有NSData类型的CKModifyRecordsOperation属性,但clientChangeToken返回的CKFetchRecordChangesOperation始终为nil出于某种原因。

1 个答案:

答案 0 :(得分:1)

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

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