gpt4 book ai didi

ios - News Feed 上的 Firebase Swift 分页

转载 作者:行者123 更新时间:2023-11-28 15:35:55 32 4
gpt4 key购买 nike

我正在创建一个 Instagram 风格的提要,并试图弄清楚如何根据您关注的人对帖子进行分页。

我的数据结构如下:

 posts:
user1:
post1
post2
user2:
post3
post4
user3:
post5
post6
post7

user-following:
user1:
user2
user3

所以帖子是由创建帖子的用户组织的。我还有一个当前用户遵循的人员结构。所以我获取当前用户关注的用户的 uid,然后转到帖子部分并获取这些用户的所有帖子,每个帖子都有一个 createdAt 值。

当我使用 queryByChild("createdAt") 时,它会按用户对数据进行排序,而不是绝对排序。因此它对 user2 的帖子进行排序,然后对 user3 的帖子进行排序,而不是进行绝对排序,因为它会将数据分成 block 。

我需要最新的整体帖子,独立于拥有新闻提要帖子的用户。我可以在快照中获取所有帖子信息,但是有没有办法对快照进行排序?我需要找到一种方法让数据库将信息作为一个整体而不是 block 进行排序,然后从该排序列表中提取最新的“x”个帖子。

否则我必须将所有内容都拉到我的程序中,然后将其排序到一个数组中,然后从数组中拉出最新的“x”个帖子以进行分页。问题是,如果有 1000 个帖子,这是一个巨大的数据拉动,会使应用程序变得非常慢,甚至可能崩溃。有什么建议吗?

最佳答案

在我看来这里唯一的方法是:

1) 遍历您关注的每个用户

2) 获取最近的 X 个帖子

3) 按日期对结果数组排序

4) 显示结果数组的最后 X

如果您有表格 View :

要进行无限滚动,您需要存储此数组并从中获取帖子。

刷新时 - 重新加载帖子数组。

我有相同的结构,我认为这是我们如何做到的唯一方法。

希望是对的,对你有帮助

关于ios - News Feed 上的 Firebase Swift 分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44274273/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com