Firebaseデータベースのこのセクションにある子の数を取得しようとしていますが、設定している変数はローカルに設定されています。興味深いことに、最初のprintステートメントは2つ(これは必要な番号です)を出力しますが、2番目のprintステートメントはゼロを出力します。関数を正しい値に戻すにはどうしたらいいですか?お手伝いありがとう。Firebaseからの検索時に変数が実際に設定されない
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
var forReturn = 0
let databaseRef = FIRDatabase.database().reference()
databaseRef.child("gameNumber").observeSingleEvent(of: .value, with: { snapshot in
forReturn = Int(snapshot.childrenCount)
print(forReturn)
})
print(forReturn)
return forReturn
}
これは、繰り返しの2桁と0を出力します。
おそらく非同期ブロック – Pierce