我正在制作一个简单的Swift冥想应用程序,希望有一个功能可以让用户看到有多少人安装了这个应用程序(“你是354个冥想者社区的一部分”)。
我目前的计划-在第一次加载时将一个“空白”记录保存到CloudKit中的公共DB。
然后-每个客户端在登录时检索所有的记录和计数有多少?
有没有更好的解决办法。我可以想象如果有很多用户.
谢谢!
发布于 2015-10-10 23:45:57
就您的CloudKit示例而言,据我所知,没有返回记录数量的选项,相反,CloudKit只是批量返回实际记录(它决定返回多少条记录)。但是,您可以指定它返回的记录限制。
如果您确实指定了一个限制,则需要不断更新它,因为一旦记录数量超过限制,它将不再全部检索它们,并且您的计数将是错误的。
这可能是个坏主意,因为您必须不断发布应用程序更新以增加限制(除非您将此值存储在其他类型的外部DB中,这可能比CloudKit本身更好)。基本上,CloudKit可能不是最好的方法。
使用不同的公共DB设置可能要容易得多。要么设置自己的数据库,要么使用像'Parse.com‘这样的服务,这使得设置和连接公共数据库非常简单。这样做的另一个好处是,您可以在服务器上运行计数查询,只返回计数值本身,而不是返回所有记录并在本地计数--效率很低。
https://stackoverflow.com/questions/33059993
复制相似问题