首页 文章

新闻Feed上的Firebase Swift分页

提问于
浏览
0

我正在创建一个Instagram风格的Feed,并试图找出如何根据您关注的人对帖子进行分页 .

我的数据结构如下:

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

 user-following:
      user1:
           user2
           user3

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

当我使用queryByChild(“createdAt”)时,它会对每个用户的数据进行排序,而不是绝对的 . 所以它排序user2的帖子,然后是user3的帖子,而不是做一个绝对排序,因为它以块的形式提取数据 .

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

否则我必须将所有内容都放入我的程序中,然后在数组中对其进行排序,然后从数组中提取最新的“x”数量的帖子以进行分页 . 问题是,如果有1000个帖子,这是一个巨大的数据拉动,将使应用程序超级慢,可能崩溃 . 有什么建议?

1 回答

  • 1

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

    1)浏览您关注的每个用户

    2)获取最后 X 个帖子

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

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

    如果您有 table view

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

    关于刷新 - 重新加载帖子数组 .

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

    希望它是正确和有帮助的

相关问题