Я пытаюсь создать для l oop итерацию от 1 до количества раз, которое переменная возвращает из firebase.
В моей базе данных есть структура:
project-id
featured
amount: 2
post1
postID: postID
userOfPost: userID
post2
postID: postID
userOfPost: userID
Переменная «количество» будет динамически изменяться при добавлении сообщения в узел «Избранные». Я использую эти данные «количества», чтобы узнать, сколько раз мне нужно выполнить итерацию для l oop, чтобы добавить данные каждой записи в свой собственный массив, например:
post1 = ["postID", "userID"]
post2 = ["postID", "userID"]
Код I пока что есть:
func getFeaturedPost(){
var number = 0
ref.child("featured").child("amount").observeSingleEvent(of: .value, with: { (snapshot) in
number = snapshot.value as! Int
print(number)
})
for pos in 1...number+1{
ref.child("featured").child("post\(pos)").observeSingleEvent(of: .value, with: { (snapshot) in
let postID = (snapshot.value as? NSDictionary)?["postID"] as? String ?? ""
let userOfPost = (snapshot.value as? NSDictionary)?["userOfPost"] as? String ?? ""
print("postID: \(postID)")
print("userOfPost: \(userOfPost)")
})
}
}
В данный момент я получаю только первый узел назад (post1). Правильно ли я сделал для l oop или есть лучший способ получить данные более чем одного ребенка в Firebase?