0
私はiosとfirebaseを初めて使いました。ファイアストアからデータを取り出すときにセグを準備する
は、私は私のfirestoreから現在のドキュメントは、 各文書は、サブコレクションを持つテーブルビューを持っていると私は、行を打ったとき、それを取得し、私は「今、第二のtableView
に新しいデータを提示したいです
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
switch segue.identifier {
case "showOptions"?:
let selectedDishTableViewController = segue.destination as! SelectedDishViewController
if let indexPath = tableViewDishes.indexPathForSelectedRow {
brain.loadOptions(dish: brain.listOfDishes[indexPath.row])
selectedDishTableViewController.dish = brain.listOfDishes[indexPath.row]
selectedDishTableViewController.myOption = brain.myOption
brain.myOption.removeAll()
}
default: break
}
}
これは私の脳のFUNCです:使用してメートル
func loadOptions(dish:Dish) {
db.collection("Restaurants").document("Limon").collection("Menu").document((self.sectionName!)).collection("Dishes").document(dish.DishName).collection("Options").getDocuments { [weak self](querySnapshot, error) in
if error != nil {print(error)}
else {
for document in querySnapshot!.documents {
// appending the data to my Array that will be presented in the next tableView
}
}
}
}
今何が起こるかは、最初の時間は、私が行最初viewdを打つことですdb.collectionがasyncedであるため、最初のヒットからデータを表示するために、同じ行を押した後にヒットする必要があるため、2番目のtableviewのidloadが表示されます。
を使用する第二のtableViewのViewDidApearでは、メインスレッド上の第二のコントローラテーブルビューをリロードする必要があります。 –
私はfuncのリロードデータを追加してテーブルをリロードするか、viewDidloadでそれを行うべきですか?私はこれをどのように実行するか分からない。 –