簡體   English   中英

CloudKit:多個用戶同時寫入同一條記錄

[英]CloudKit: multiple users writing to same record at same time

我目前正在處理我一直在開發的應用程序的 CloudKit 錯誤。 我需要處理的一個主要問題是:多個用戶同時寫入同一條記錄。

使用 CloudKit(在 Swift 中)處理此問題的最佳方法是什么? 我是否需要在記錄上添加某種鎖定,以便一次只有一個用戶可以編輯? CloudKit 會自動為我做這件事嗎? 如果是這樣,我應該在一段時間后重新嘗試操作嗎? 我是否需要一個隊列來保存該記錄上等待完成的任務?

任何有關 CloudKit 打算如何讓我處理此類問題的見解將不勝感激! 謝謝!

您必須以適合您的應用程序的方式處理 CKRecord 沖突。 一種處理方法是最新更新獲勝。 為了讓它工作,你可以在 CKRecord 上有一個字段,比如 lastModified。 您可以將savePolicyCKModifyRecordsOperation設置為ifServerRecordUnchanged保存記錄時,Cloudkit 會拋出serverRecordChanged錯誤。 出現此錯誤時,您還將擁有 3 個版本的 CKRecord。 1.) 您嘗試保存的記錄的先前版本, 2.) 您嘗試保存的記錄的確切版本, 3.) 在您提交請求時服務器持有的版本。

通過比較 CKRecord 的lastModified字段,您可以決定哪個 CKRecord 獲勝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM