Проблема в том, что вы просто наблюдаете одно событие здесь:
databaseRef.child("wordList").queryOrderedByKey().observeSingleEvent(of: .childAdded, with: {
snapshot in
Это означает, что он просматривает вашу базу данных и, найдя какой-либо дочерний объект, отображает его без дальнейшего продвижения.,То, что вам нужно сделать, это изменить его так:
func getAllWordsFromDatabase() {
let databaseRef = Database.database().reference()
databaseRef.child("wordList").queryOrderedByKey().observe(.childAdded, with: {
snapshot in
let word = (snapshot.value as? NSDictionary)!["word"] as? String
let wordType = (snapshot.value as? NSDictionary)!["wordType"] as? String
self.posts.append(postStruct(word: word, wordType: wordType))
DispatchQueue.main.async {
self.wordsTableView.reloadData()
}
})
}
Попробуйте реализовать это, и оно должно работать.