【发布时间】:2018-02-08 16:32:37
【问题描述】:
我是 Swift 语言的新手,我正在尝试编写一个函数,该函数允许在我的 Firebase 数据库中获取 6 个最受欢迎的人。
我写了一个观察者,它把用户放在这样的数组中:
[[userID: numberOfFollowers], [userID: numberOfFollowers], ...]
我想只保留关注人数最多的 6 个用户。
你知道这是否可能吗?
var people = [[String: Int]]()
func loadPeople() {
var REF_FOLLOWERS = Database.database().reference().child("followers")
REF_FOLLOWERS.observe(.value, with: { (snapshot: DataSnapshot!) in
print("Got snapshot")
if let dict = snapshot.value as? [String: Any] {
for (key, value) in dict {
var count = 1
if let array = value as? [String: Any] {
for _ in array {
count += 1
}
}
self.people.append([key : count])
self.tableView.reloadData()
}
}
})
}
【问题讨论】:
-
这是一个数据库。为什么在获取时不对项目进行排序?
标签: arrays swift firebase firebase-realtime-database