Ios &引用;“原子增量”;使用CloudKit
我想使用CloudKit实现一个计数器。假设我有一个名为Ios &引用;“原子增量”;使用CloudKit,ios,swift,cloudkit,Ios,Swift,Cloudkit,我想使用CloudKit实现一个计数器。假设我有一个名为count的字段,类型为Int(64)。如何实现此计数器,以便多个用户可以同时递增它 如果多个用户同时递增此计数器,myCKModifyRecordsOperation可能会因为冲突而失败。我可以接受这个失败并递归地尝试保存我的记录,但这在规模上不起作用 2011年,Parse推出了一个名为atomic increment的简单解决方案。您可以编写这样的代码,而不必担心多个用户创建冲突的值:[gameScore incrementKey:@
count
的字段,类型为Int(64)
。如何实现此计数器,以便多个用户可以同时递增它
如果多个用户同时递增此计数器,myCKModifyRecordsOperation
可能会因为冲突而失败。我可以接受这个失败并递归地尝试保存我的记录,但这在规模上不起作用
2011年,Parse推出了一个名为atomic increment的简单解决方案。您可以编写这样的代码,而不必担心多个用户创建冲突的值:[gameScore incrementKey:@“score”byAmount:[NSNumber numberwhithint:10]
(该帖子)
如何使用CloudKit做到这一点?我不相信CloudKit内置了类似的原子增量功能。但是,通过将
CKModifyRecordsOperation
上的savePolicy
设置为ifServerRecordUnchanged
并检查serverRecordChanged
错误(),可以实现类似的效果
对于一个稍微不同的问题,这里有一个现有的答案:我希望有一个更优雅的后端解决方案,但这确实有助于使重新保存过程尽可能高效。谢谢。