我正在尝试将一个 child 从火力基地中移走。这是我得到的
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 数据结构
最佳答案
我测试了它,它证实了我的怀疑,即使请求失败,错误也是零。您的第一个任务是确保您尝试删除的子 ID 确实存在(*即您提供了正确的 ID)。这似乎是 firebase 中的一个错误。然而,当使用正确的路径时,我删除节点没有问题。
检查打开的 Firebase 控制台并在项目中查找数据库菜单。然后打开 REF_GROUPS 的任何节点,在里面你应该看到“child”和里面的 ids。如果这不是您所看到的,那么您需要调整查询以反射(reflect) Firebase 中的结构。
编辑 没有看到你的截图,根据你的查询肯定是错误的。你需要
DataService.instance.REF_GROUPS.child("your group id comes here").child("task").child(taskToDelete.id)
尝试打印引用,你应该得到
https://yourappname.firebaseio.com/groups/-KzVm.../task/-KZvp...
关于ios - 从 Firebase 数据库中删除子项不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47506142/