使用Firebase删除键值。的iOS

时间:2017-12-11 14:57:35

标签: ios uitableview firebase firebase-realtime-database

我可以从Firebase中删除密钥并更新表格。然而,一旦我到达最后一个,细胞就不会被移除。我在每次删除后都计算了表中的数组,但它显示尽管数据库删除了密钥,但总有一个数组。只有在我重新启动应用程序之后,该表才为空。我看过这个答案:Swift: 'attempt to delete row 0 from section 0 which only contains 0 rows before the update'refresh tableView after deleting cell,但它并没有解决我的问题。

这是我的commit editingStyle

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
    if editingStyle == .delete {

        let attendee = AttendeeManager.shared.attendees[indexPath.row]

        let databaseRef = Database.database().reference(withPath: "users/\(uid)/meetList/\(attendee.key!)")

        databaseRef.removeValue(completionBlock: { (_, _) in
            print(AttendeeManager.shared.attendees.count)
            self.tableView.reloadData()
        })
    }
}

这是我的数据结构示例:

{
  "users": {
    "Juoiuf0N6FNDn3rYlM6X6UK62": {
      "meetList": {
        "DCVBHGVnvjfgvmfkgjgwgkgjffjg": true,
        "C076OYmVTzJF22HB3ggjftY2XpED2": true,
        "DhkgjrlorTKKjhrgkegfwmdhffwn": true
      }
    }
  }
}

注意AttendeeManager是管理Attendee对象的单身人士。

0 个答案:

没有答案