OGeek|极客世界-中国程序员成长平台

标题: ios - 一次在 Firebase 中填充一组单元格的 UITableView [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 12:57
标题: ios - 一次在 Firebase 中填充一组单元格的 UITableView

我正在使用 Firebase 填充 UITableView

我想知道是否可以让 Firebase 下载前 5 个结果,并且在用户滚动到最后一个结果后,下载接下来的 5 个结果。

目前,Firebase 会一次下载我的所有子节点,但如果它一点一点下载,则 View 加载速度会更快。

有什么建议吗?

--编辑

请务必注意,单元格中有图像。图片是 base64 编码的 NSString。这是我用来检索它们并将它们转换为 UIImages

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



Best Answer-推荐答案


初步想法

我不知道是否有理想的解决方案,但我肯定会研究 complex queries在 Firebase 的文档中。您可以使用 queryStartingAtValuequeryEndingAtValue 方法查询某些范围,但您必须确保您的 Firebase 设置正确才能使用这些。

在 Range Queries 部分的底部,它提到:

Range queries are also useful when you need to paginate your data.

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

现有解决方案

有一个 answer我发现它使用了我上面提到的东西,所以希望它对你有用。我要补充一点,在我的 firebase 上使用这些范围查询方法时运气不佳。

最后的想法

另一个解决方案可能不是您想听到的答案,但 URL(希望)比 base64 编码的图像短很多,并且在处理大量数据时可能会在下载时间上产生很大差异。通过此实现,您只在需要时从服务器请求图像,而不是一次全部请求。

关于ios - 一次在 Firebase 中填充一组单元格的 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34403886/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4