Ios &引用;“原子增量”;使用CloudKit

Ios &引用;“原子增量”;使用CloudKit,ios,swift,cloudkit,Ios,Swift,Cloudkit,我想使用CloudKit实现一个计数器。假设我有一个名为count的字段,类型为Int(64)。如何实现此计数器,以便多个用户可以同时递增它 如果多个用户同时递增此计数器,myCKModifyRecordsOperation可能会因为冲突而失败。我可以接受这个失败并递归地尝试保存我的记录,但这在规模上不起作用 2011年,Parse推出了一个名为atomic increment的简单解决方案。您可以编写这样的代码,而不必担心多个用户创建冲突的值:[gameScore incrementKey:@

我想使用CloudKit实现一个计数器。假设我有一个名为
count
的字段,类型为
Int(64)
。如何实现此计数器,以便多个用户可以同时递增它

如果多个用户同时递增此计数器,my
CKModifyRecordsOperation
可能会因为冲突而失败。我可以接受这个失败并递归地尝试保存我的记录,但这在规模上不起作用

2011年,Parse推出了一个名为atomic increment的简单解决方案。您可以编写这样的代码,而不必担心多个用户创建冲突的值:
[gameScore incrementKey:@“score”byAmount:[NSNumber numberwhithint:10]
(该帖子)


如何使用CloudKit做到这一点?

我不相信CloudKit内置了类似的原子增量功能。但是,通过将
CKModifyRecordsOperation
上的
savePolicy
设置为
ifServerRecordUnchanged
并检查
serverRecordChanged
错误(),可以实现类似的效果


对于一个稍微不同的问题,这里有一个现有的答案:

我希望有一个更优雅的后端解决方案,但这确实有助于使重新保存过程尽可能高效。谢谢。