Swift - 如何将数据从 TableView 中的多个选定单元格保存到 Firebase?

问题描述

我需要将 tableView 中选定单元格的所有数据保存到 Firebase 数据库。 在单元格中,我只有标签,没有按钮、操作或文本字段。我希望当我选择多个单元格时,然后单击 saveButton 并将单元格中的所有数据存储在 Firebase 上。

解决方法

如果您查看 Apple 文档 here,您将看到讨论如何正确处理多行选择的部分。

就像我在评论中所说的那样,您需要使用

tableView(_ tableView: UITableView,didSelectRowAt indexPath: IndexPath)

方法,并在该函数内部将 indexPath.row 值附加到一个数组,您可以在该函数调用之外引用(例如,您可以将其设置为视图控制器的实例属性)。一旦选择了所有所需的行,当用户单击发送按钮时,您可以遍历索引数组,然后从数据源中提取必要的记录并将其上传到 Firebase,或者您可以填充一个临时数组并发送整个数组到 Firebase,任何最适合您的方式。

这是我的意思的一个简单例子

var indexArray: [Int] = []

func tableView(_ tableView: UITableView,didSelectRowAt indexPath: IndexPath) {
  
   indexArray.append(indexPath.row)
   
}

func sendToFirebase() {
 for index in indexArray {
  //... get record from datasource and send to Firebase
 }
}

不过,请务必查看 Apple 的文档,因为它讨论了取消选择行和使用复选标记作为显示所选行的最佳做法。