我正在尝试从firebase中删除一个孩子。这是我得到的
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
let taskToDelete = groupTask[indexPath.row]
if editingStyle == UITableViewCellEditingStyle.delete {
groupTask.remove(at: indexPath.row)
DataService.instance.REF_GROUPS.child("task").child(taskToDelete.id).removeValue(completionBlock: { (error, refer) in
if error != nil {
print(error)
} else {
print(refer)
print("Removed Correctly")
}
})
tableView.reloadData()
}
}
它正在打印“正确删除”到控制台,但未在firebase中删除子项。还有另一种方法吗?先感谢您。
Firebase数据结构
答案 0 :(得分:0)
我对它进行了测试并证实了我的怀疑,即使请求失败,错误仍为零。您的首要任务是确保您尝试删除的子ID确实存在(*即您提供了正确的ID)。这似乎是firebase中的一个错误。然而,当使用正确的路径时,我没有删除节点的问题。
检查打开的firebase控制台并在项目中查找数据库菜单。然后打开REF_GROUPS的任何节点,在里面你应该看到" child"在里面的ids。如果这不是您所看到的,那么您需要调整查询以反映Firebase中的结构。
修改强> 没有看到你的截图,基于你的查询肯定是错误的。你需要
DataService.instance.REF_GROUPS.child("your group id comes here").child("task").child(taskToDelete.id)
尝试打印引用,你应该
https://yourappname.firebaseio.com/groups/-KzVm.../task/-KZvp...