Используйте приведенный ниже код в контроллере представления, и вы сможете увидеть содержимое в вашем табличном представлении

аю обработчик завершения для функции, которая будет возвращать список объектов. Когда он возвращает значение в первый раз, он работает хорошо. Но когда происходят какие-либо изменения в базе данных Firebase и снова вызывается наблюдение, размер массива удваивается. Почему это удваивается?

func getStadiums(complition: @escaping ([Stadium]) -> Void){
  var stadiums: [Stadium] = []
  let stadiumRef = Database.database().reference().child("Stadium")
  stadiumRef.observe(.value, with: { (snapshot) in
    for snap in snapshot.children {
      guard let stadiumSnap = snap as? DataSnapshot else {
        print("Something wrong with Firebase DataSnapshot")
          complition(stadiums)
          return
      }
      let stadium = Stadium(snap: stadiumSnap)
      stadiums.append(stadium)
    }
    complition(stadiums)
  })
}

И звоню вот так

getStadiums(){ stadiums
  print(stadiums.count) // count gets doubled up after every observe call
}

Ответы на вопрос(3)

Ваш ответ на вопрос