在Firebase中填充UITableView一次设置单元格数量

我正在使用Firebase来填充UITableView

我想知道是否有可能让Firebase下载前5个结果,并且一旦用户滚动到最后的结果,就下载下5个结果。

目前,Firebase一次下载我的所有子节点,但是如果它一点一点地执行,则视图将加载得更快。

有什么build议?

– 编辑

注意到单元格中有图像是很重要的。 图像是base64编码的NSString s。 这里是我用来检索它们并将它们转换成UIImage的代码

 NSString* profPicString = [child.value objectForKey: @"profilePicture"]; NSData *dataFromBase64 = [NSData base64DataFromString:profPicString]; UIImage *profPicImage = [[UIImage alloc]initWithData:dataFromBase64]; item.profilePicture = profPicImage; 

最初的想法

我不知道是否有一个理想的解决scheme,但我一定会考虑Firebase文档中的复杂查询 。 您可以使用方法queryStartingAtValuequeryEndingAtValue查询某些范围,但是您必须确保您的Firebase设置正确才能使用这些范围。

在范围查询部分的底部,它提到:

当您需要分页数据时,范围查询也很有用。

所以这可能是您理想的解决scheme。

现有的解决scheme

我发现有一个答案使用我上面提到的,所以希望它适合你。 我将补充一点,在我的firebase上使用这些范围查询方法,我没有太多的运气。

最后的想法

另一个解决scheme可能不是你想听到的答案,但是URL(希望)比base64编码图像短得多,并且在处理大量数据时可能在下载时间上产生很大的差异。 有了这个实现,你只需要从服务器的图像,当你需要他们,而不是一次。