firebaseの情報をtableviewに表示させました。
swift
1extension ViewController : UITableViewDelegate,UITableViewDataSource { 2 3func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 4 5 return postArray.count 6} 7//tableViewCellの中身 8func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 9 let cell = timelineTableView.dequeueReusableCell(withIdentifier: "Cell") as! TimelineTableViewCell 10 cell.postTextView.text = postArray[indexPath.row].postText 11 return cell 12 13 } 14}
cellがfirebaseの情報数に応じて表示がされますが、この表示されたcellをタップしたらfirebaseの情報を更新できるようにしたいです。
画面遷移と値渡しは行えるのですが、更新したい情報をどのようにfirebaseに送ればいいのでしょうか。
firebaseの情報を更新する方法は
swift
1 db.collection("users").document("user1").setData(["add": "addData"], merge: true) { error in 2 if let error = error { 3 print("エラーが起きました") 4 } else { 5 print("ドキュメントが保存されました") 6 } 7 } 8 }
このような形で情報をuser1に追加することが可能だと思います。
tableviewlに表示されているcell1をタップして情報を追加するための画面に遷移したと仮定します。この際、コードでは情報の追加の部分をどのように記述すればいいのでしょうか。
コレクションidはusersで確定ですが、ドキュメントidはcell1、cell2、cell3、、、、と続いていきそれぞれ異なります。firebaseの情報更新の際、どのようにタップされたcellのドキュメントidを指定すればよろしいのでしょうか。
伝わりづらい文章で申し訳ありません。
あなたの回答
tips
プレビュー