Так что мне нужно захватить содержимое с разных путей в базе данных firebase и сохранить их в массив, чтобы я мог поместить их в диаграмму.Swift - Firebase multiple snapshots
Есть ли способ получить snapshot.Value
и сохранить его в переменной, доступ к которой может быть получен позднее в коде?
Это код, который показывает, что я пытаюсь сделать:
override func viewDidLoad() {
super.viewDidLoad()
leave.observeEventType(.Value, withBlock: { snapshot in
let vaiable = snapshot.value
})
remain.observeEventType(.Value, withBlock: { snapshot in
let variableTwo = snapshot.value
})
undecided.observeEventType(.Value, withBlock: { snapshot in
let vaiableThree = snapshot.value
})
let options = ["Remain", "Leave", "Undecided"]
let results = [variable, variableTwo, variableThree]
setChart(options, values: results)
Но я считаю, что firebase вызовы делаются в последнюю очередь, это означает, что переменные являются пустыми в массиве «Результаты» ,
Все, что мне не хватает?
Пожарные базовые вызовы - это асинхронные вызовы, так что либо вы должны соединить все вызовы, а если вы хотите провести параллель, то подождите, пока все блоки завершения завершатся. –