如何对 CloudKit 记录值求和

How To Sum CloudKit Record Values

假设您有一个名为 Steps 的 CloudKit 类型,每个步骤记录都有一个值和一个日期。如果您有 500 条记录,是否可以 CloudKit 传回所有值的总和(例如:5,490)?

除了对所有步骤执行 CKQueryOperation 然后手动添加它们之外,我还没有找到其他方法。我担心的是,如果我最终有很多步骤记录,比如 5,000,CKQueryOperation 可能会开始限制我的结果。

不,CloudKit 无法做到这一点。你必须使用允许服务器功能的东西,比如 Parse。

但这是一个很容易通过本地设备缓存解决的问题。如果您将 Step 记录与本地数据库(Realm、CoreData、SQLite 等)同步,您可以简单地查询数据库中的所有步骤并将它们相加。这是我会采用的方法。