私はfirebaseからデータを取得してテーブルビューで表示するように取り組んでいます。私は受け取ったデータを配列に取り込み、配列を使ってtableviewを塗りつぶしますが、データは表示されません。ユーザーが表示する前にテーブルビューに配列を表示
私は、配列が生成される前にtableviewがロードされているということを認識しました。私はviewdidloadにreloadDataを置こうとしましたが、これは表示された後にデータをポップインし、きれいに見えません。
遷移がスムーズになるように、ビューが表示される前にデータを読み込むようにテーブルビューを取得するにはどうすればよいですか?
このコードは、私のviewDidLoadメソッド内にある:代わりにコールfunc insertSections(IndexSet, with: UITableViewRowAnimation)
let categoryRef = Database.database().reference().child("category/\(category)")
let user = Auth.auth().currentUser
if let user = user {
let uid = user.uid
categoryRef.observeSingleEvent(of: .value, with: { (snapshot) in
if snapshot.hasChildren(){
for child in (snapshot.value as? NSDictionary)! {
if let object = child.value as? [String:AnyObject]{
let name = object["name"] as! String
self.nameArray.append(name)
self.categoryDict["\(name)"] = child.key as! String
}
}
self.tableView.reloadData()
}
})
}
}
喜んで助けてください。それがうまくいけば、upvoteして正しい答えとしてマークして、問題を抱えている他の人に解決策を見せてください:) – barbarity