我尝试做的是获取stat的值,并使用查询方法按特定顺序对它们进行排序,并将其显示在tableview中。问题是我试图获取查询的排序值,但我不能低于团队级别,因为时间戳的值是随机的,但子键值始终是静态的。我使用for语句获取stat值但是对sort值执行相同操作会涉及嵌套另一个观察者并在for语句中执行该操作可能会很糟糕,因为它会产生大量请求。这是我的代码。
func dataObserver() {
ref.child("LeagueDatabase").child(league).child(age).child(team).observeSingleEvent(of: .value, with: { (snapshot) in
for child in snapshot.children {
let snap = child as! FIRDataSnapshot
self.playerStatsList.append(snap.value(forKey: "stat") as! String)
self.playerDataTable.reloadData()
}
print(self.playerStatsList)
})
}
JSON
{
"LeagueDatabase": {
"-user created league names-": {
"-user created team names-": {
"-timestamp to seconds-": {
"stat": "-random user content-",
"sort": "-timeSince1970 as double-",
}
}
}
}
}