首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多个用户编辑同一CloudKit记录

多个用户编辑同一CloudKit记录
EN

Stack Overflow用户
提问于 2017-05-06 11:44:43
回答 1查看 203关注 0票数 1

我正在构建一个社交媒体应用程序,多个用户可以同时编辑相同的CloudKit记录。我是否应该实现一种锁定机制,以便一次只有一个用户可以编辑(这些编辑可能会相互冲突),或者CloudKit有没有一个方便的内置方法来处理这个问题?

如果我实现一种锁定机制,我的计划是向可编辑记录添加一个二进制属性--如果其他人正在编辑,则该属性的值为1,如果当前没有人在编辑,则该属性的值为0。这听起来像是一种合理的方式吗?

EN

回答 1

Stack Overflow用户

发布于 2017-05-06 12:32:24

Cloudkit有一种用于管理这种情况的机制,称为change token。它类似于每次记录更改时更新的时间戳。当您尝试写入时,您拥有的最后一个更改令牌将随新数据一起传递给服务器。您可以设置说明服务器应如何处理冲突的策略,例如最后一个编写器始终覆盖。或者最后一个写手被拒绝了。

在后一种情况下,第二个写入器将收到一个NSError。该错误的userInfo中嵌入了该记录的三个版本:服务器上的当前版本、您尝试提交的版本和公共祖先。这使您可以比较差异,适当地合并数据并重新保存。或者,您可以重新获取记录(这将更新更改令牌的版本),然后再次保存。

我推荐观看WWDC cloudkit视频。我相信WWDC 2014年第231期“高级Cloudkit”和WWDC 2015年715期"Cloudkit提示和技巧“都有最有用的信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43816502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档