如何使用CloudKit实现计数器



情况

我想用CloudKit管理一个计数器(按下按钮的次数)。

每次用户按下一个按钮,我都想增加一个整数。因此,这个整数将是按钮被按下次数的全局(对于所有用户)计数器。

问题

有没有一种更可取的方法?

我的想法

我可以用这个数字存储一个CKRecord,每次按下按钮时都可以提取和修改它。但是,它不是不安全吗,因为它可能会被许多人(或多或少)同时更新?

你的想法会奏效的。进行更新时,您将首先获取计数器记录,递增计数器,然后将其保存回。如果另一个用户同时更新了计数器,那么CloudKit会给你一个错误,你可以再试一次。

但这取决于用户按下按钮的频率。如果在较长的时间内每秒有多次推送,那么在更新数据时可能会出现很多错误。更新成功之前的时间将会增加。

最新更新