Я пытаюсь создать таблицу лидеров с базой данных Firebase, которая показывает имя пользователя + количество звездочек. Поэтому я хочу отфильтровать свою базу данных по количеству totalStars.
Вот мои данные в базе данных:
Вот мой код swift для фильтрации:
func loadData() {
var ref: DatabaseReference!
ref = Database.database().reference()
ref.child("Leaderboard").queryOrdered(byChild: "totalStars").queryLimited(toLast: 500).observe(.childAdded, with: { (snapshot) in
let results = snapshot.value as? [String : AnyObject]
let name = results?["fullName"] as? String ?? ""
let stars = results?["totalStars"] as? Int
let UID = results?["UID"] as? String ?? ""
let newDetails = LeaderboardArray(rank: name, UID: UID, totalStars: stars!)
self.leaderboardArray.append(newDetails)
DispatchQueue.main.async {
self.getLeaderboardRank()
self.tableView.reloadData()
}
})
}
Я не знаю, что не так с моим кодом swift, но он неправильно сортирует данные, которые он показывает случайным образом.