#swift #firebase #firebase-realtime-database #swift5
# #swift #firebase #firebase-база данных в реальном времени #swift5
Вопрос:
Я пытаюсь получить массив строк со списком всех имен пользователей, но по какой-то причине мой код не работает. Вывод должен быть [sean, yuh]
Database.database().reference().child("usernames").observeSingleEvent(of: .value, with: { (snapshot : DataSnapshot) in
for child in snapshot.children {
let snap = child as! DataSnapshot
let uid = snap.childSnapshot(forPath: "username")
self.array.append(uid1)
}
}
Комментарии:
1. Совершенно не по теме, и я вижу, что есть принятый ответ, но рассмотрите возможность использования uid пользователей firebase в качестве их uid вместо того, чтобы использовать что-то пользовательское. В дальнейшем это становится намного проще.
Ответ №1:
Ваш uid1
не объявлен в коде, которым вы поделились, и определенно не является значением свойства username в JSON. Кроме того, вы захотите получить value
дочерний снимок. Таким образом, объединяет:
Database.database().reference().child("usernames").observeSingleEvent(of: .value, with: { (snapshot : DataSnapshot) in
for child in snapshot.children {
let snap = child as! DataSnapshot
let uid = snap.childSnapshot(forPath: "username")
self.array.append(uid.value)
}
}