我正在使用我的應用程序中的CloudKit同步(「微型數據,所有設備」模型,以及私有數據庫中的自定義區域)。CKModifyRecordsOperation中的clientChangeTokenData是什麼?
CKModifyRecordsOperation
包含在該文檔中描述NSData
類型的clientChangeTokenData
屬性如下:
當從取操作修改記錄,指定客戶機生成的數據令牌使用此屬性,以指示哪個版本您上次修改的記錄。比較您在下次記錄抓取時提供給數據令牌的數據令牌,以確認服務器已成功接收設備的上次修改請求。
我不明白爲什麼我應該打擾,因爲每個請求,我得到一個完成塊告訴我服務器是否已經成功地收到我的請求。爲什麼我需要手動比較此客戶端令牌?
是否指定clientChangeTokenData
正確處理我的用例?我跟蹤本地數據更改並在每次數據更改時推送隊列中的所有內容。遠程更改通過區域訂閱進行跟蹤。
如果需要,我如何正確生成此令牌,因爲我在我的CKModifyRecordsOperation
(我的API使用目的是批量操作)中有各種記錄更改。這裏的一般工作流程是什麼?
謝謝。
'clientChangeTokenData'似乎從CKModifyRecordsOperation完成塊中是零。我們(開發人員)必須在將操作添加到操作隊列之前生成並傳入操作嗎?目前尚不清楚。 –
您應該檢查名爲recordChangeTag的密鑰它由CloudKit自動生成 –
您可以自己爲修改操作設置clientChangeTokenData。然後在完成同步時驗證它是否匹配,即CKFetchRecordZoneChangesOperation。你爲什麼想這麼做......我還不確定。 – malhal