如何使用解析检查表是否为空,我遇到以下代码的问题:
foo
问题是表是空的,所以查询应该返回null,但是没有抛出任何异常,它只是崩溃了应用程序。
那么在尝试获取任何数据之前,如何检查表是否为空?
更新:我找到的解决方案是使用query.count() 如果计数返回的值不为0,则表不为空。
答案 0 :(得分:0)
使用query.count()
确定表是否为空不是最佳解决方案。虽然在实际针对空表运行时这是完全正常的,但是当表中有多个对象时,使用query.count()
几乎总是会导致次优查询。原因很明显:您只关心此查询匹配的第一个对象,但query.count()
将扫描整个表,以便返回与您的查询匹配的对象总数。
因此,理想的解决方案是简单地使用query.getFirst()
并检查您是否得到任何结果。您应该能够处理ob
不是ParseObject
的情况,例如该集合为空或没有与您的查询匹配的对象。