Я пытаюсь создать приложение, в котором перечислены определенные службы, где пользователи могут оценивать каждую из них.Оценка с каждого сервера сохраняется в базе данных Firebase.Я могу получить все оценки и вычислить средние значения, используя следующую функцию:
func observeStars() {
let placesRef = Database.database().reference().child("Review")
placesRef.observe(.childAdded, with: { (snapshot) in
let toId = snapshot.key
var total: Double = 0.0
var average: Double = 0.0
placesRef.child(toId).observeSingleEvent(of: .value, with: { (snapshot) in
let count = snapshot.childrenCount
for childOfPlace in snapshot.children {
let childOfPlaceSnap = childOfPlace as! DataSnapshot
let dict = childOfPlaceSnap.value as! [String: Any]
let val = dict["STAR"] as! Double
total += val
}
average = total/Double(count)
print(average)
})
}, withCancel: nil)
}
Как вы можете видеть, среднее значение печатается в течение 2 последовательных замыканий внутри функции.Однако у меня возникли проблемы с использованием этих средних значений в другой функции в отдельном файле swift, поэтому я могу использовать его для отображения средних оценок в каждой таблице ViewViewcell, представляющей каждый сервис.Мой большой вопрос заключается в том, как вывести вычисленное среднее значение за пределы функции наблюдающей звезды () и использовать его где-нибудь еще?Любой вклад будет очень признателен!