Sha*_*ngh 3 ios swift cloudkit
我想使用CloudKit实现一个计数器。假设我有一个名为counttype 的字段Int(64)。我该如何实现此计数器,以便多个用户可以同时增加它?
如果多个用户同时增加此计数器,则CKModifyRecordsOperation由于冲突我可能会失败。我可能会失败,然后递归尝试保存记录,但这种方法无法大规模使用。
在2011年,Parse推出了一个称为原子增量的简单解决方案。您可以编写这样的代码,而不必担心多个用户创建相互冲突的值:[gameScore incrementKey:@"score" byAmount:[NSNumber numberWithInt:10]。(这里的帖子)
如何使用CloudKit做到这一点?
我不相信CloudKit内置了类似的单位递增的功能,但类似的效果可以通过设置来实现savePolicy的CKModifyRecordsOperation,以ifServerRecordUnchanged和检查的serverRecordChanged错误(文档)。
这里有一个稍微不同的问题的现有答案:CKRecord变量中的字段值递增而不获取?