我有一个Firebase数据库,该数据库在下面的(1)中具有以下设置。我通过以下方式(2)来命名市场。
然后,我将市场名称(在这种情况下为雅典和特拉华州)加载到表格视图中。 (3)
如何从tableView中删除一行并将其从Firebase数据库中删除?
(1)
{
"Markets" : {
"Athens" : {
"Item" : {
"name" : "Beef",
"price" : 10,
"salePrice" : 3
}
},
"Delaware" : {
"Item" : {
"name" : "Steak",
"price" : 12,
"salePrice" : 3
}
}
}
}
(2)
let ref = Database.database().reference()
var myKey = [Any]()
override func viewDidLoad() {
super.viewDidLoad()
ref.child("Markets").observeSingleEvent(of: .value, with: { (snapshot) in
let allMarkets = (snapshot.value as! NSMutableDictionary).allKeys
self.myKey = allMarkets
self.tableView.reloadData()
print(self.myKey, " This is the printing of my key")
})
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
let allMarkets = myKey[indexPath.row]
cell.textLabel?.text = allMarkets as? String
return cell
}
答案 0 :(得分:0)
假设您在这些Firebase节点上有观察者,则删除Firebase中的节点。这将在您的应用中触发一个.childRemoved事件,并将该事件传递给已删除的节点。从tableView数据源中删除它,然后重新加载tableView。
或
从Firebase中删除该行,然后从tableView数据源中删除该行。然后重新加载tableView。