С новым годом ребята. Я пытался создать приложение, где пользователи могут публиковать события и загружать события в приложение. Он также основан на GeoFire. Я могу получать сообщения, которые находятся в пределах определенного радиуса от пользователя, когда я использую только запрос Geofire. но у меня возникают проблемы с загрузкой событий, когда я добавляю дополнительные запросы, основанные на «дате события», которая больше или равна текущей дате (я сохранил дату, используя метку времени).
После выполнения запроса geofire я добавляю еще один запрос firebase, используя queryOrdered (ByChild :) и queryStarting (atValue: DaT), где DaT - мой инициализатор для текущей даты в формате отметки времени. Вот мой код:
Database.database().reference().child("Shoutout Locations").observeSingleEvent(of: .value, with: { (DataSnapshot) in
let Rad = self.rad ?? 0.0
print(Rad)
let uid = DataSnapshot.key
self.myQuery = self.geoFire?.query(at: location, withRadius: Rad)
self.myQuery?.observe(GFEventType.keyEntered, with: { (uid, location) in
Database.database().reference().child("Shoutout").child(uid).queryOrdered(byChild: "Date and Time").queryStarting(atValue: self.DaT).observeSingleEvent(of: .value, with: { (DataSnapshot) in
guard let dictionary = DataSnapshot.value as? [String: AnyObject] else {
return
}
let shoutout = Shoutout(dictionary: dictionary)
self.shoutout.append(shoutout)
DispatchQueue.main.async(execute: {
self.tableView.reloadData()
})
Когда я попробовал приведенный выше код, в uitableview просто отображается пустая таблица. Пожалуйста, помогите
Вот моя структура базы данных:
введите описание изображения здесь
Вот правила моей структуры базы данных: введите описание изображения здесь