Swift - 如何将 TableView 中多选单元格的数据保存到 Firebase?
Swift - How to save data to Firebase from multiply selected cells in TableView?
我需要将 tableView 中 selected 单元格中的所有数据保存到 Firebase 数据库。
在单元格中,我只有标签,没有按钮、操作或文本字段。我希望当我 select 乘以单元格,然后单击保存按钮并将单元格中的所有数据存储在 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 的文档,因为它讨论了取消选择行和使用复选标记作为显示所选行的最佳做法。
我需要将 tableView 中 selected 单元格中的所有数据保存到 Firebase 数据库。 在单元格中,我只有标签,没有按钮、操作或文本字段。我希望当我 select 乘以单元格,然后单击保存按钮并将单元格中的所有数据存储在 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 的文档,因为它讨论了取消选择行和使用复选标记作为显示所选行的最佳做法。