gpt4 book ai didi

swift - 在 Swift 中使用 Firebase 查询最新条目

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

我是 Firebase 的新手,我找不到如何做听起来很简单的事情:列出我数据库的所有最新条目。

这是我的数据库的截图:

database

所以,我正在尝试列出最新的条目:

    // picturesRef = FIRDatabase.database().reference().child("pictures")
let _ = self.picturesRef.queryOrdered(byChild: "createdTime").queryLimited(toLast: 50).observe(.value, with: { snapshot in
// Stocking the result into picturesArr array
for elem in picturesArr {
print(elem.createdTime)
}
})

现在,当我显示每个项目的 createdTime 值时,我有类似的内容:

  • 1484738582.0
  • 1484000086.0
  • 1484738279.0
  • 1484734358.0
  • 1484625525.0
  • 1484728677.0

这似乎不是从最旧的条目到最新的条目的顺序......

另外,当我用“fieldThatDoesntExist”替换查询中的“createdTime”时,我得到了完全相同的结果。

任何人都知道我在代码中哪里做错了什么?提前致谢!

最佳答案

查询以正确的顺序返回项目。但很可能(您的问题中似乎缺少相关代码)当您将快照转换为字典(根据定义是无序的)时,您会丢失该顺序。

为了保持项目的正确顺序,遍历 snapshot.children:

let picturesRef = FIRDatabase.database().reference().child("pictures")
let _ = picturesRef
.queryOrdered(byChild: "createdTime")
.queryLimited(toLast: 50)
.observe(.value, with: { snapshot in
for child in snapshot.children {
print(child.key)
print(child.child("createdTime").value
}
})

另见:

关于swift - 在 Swift 中使用 Firebase 查询最新条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41765126/

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