获取与CloudKit查询匹配的记录数量

6
在iOS上使用CloudKit,是否可以确定特定查询匹配的记录数量?
我实际上并不想阅读这些记录本身,我只是想知道有多少条记录与查询匹配。我知道匹配的记录会分批返回,因此原则上我可以获取每个记录批次,并通过对每个批次中的记录数量进行求和来计算总记录数。然而,对于这种应用程序,匹配的记录数量可能很大,而且我对实际记录内容不感兴趣,所以这似乎是低效和浪费的。
提前致谢。
1个回答

4

在CloudKit中没有聚合函数。唯一的方法是通过获取所有记录来进行计数。


感谢您的回复,Edwin。 - Chris
这个还有用吗?或者有没有更新的内容?我们只是为了计数而获取数据,感觉有点奇怪。我总是将获取的数据量减少到一个字段,比如 createdAt,然后就可以计算对象的数量了。 - Ivan Cantarino
我发现请求非常大的记录(比如100万条)将返回实际计数以及错误消息,即一次不能请求超过400条记录。因此,您可以使用一个您知道会失败的调用来模拟它。 - john elemans
从这篇文章中:https://dev59.com/wGAf5IYBdhLWcg3w3l2l此外,为了提高效率,您可以使用CKQueryOperation的desiredKeys属性,以便在搜索操作期间限制检索到的每个记录的数据量。源代码:desiredKeys CKQueryOperation.h文件内的注释说明,如果设置为空数组,则声明不应下载任何用户字段。 - Steve B

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接