【发布时间】:2021-06-27 12:13:38
【问题描述】:
自从现在开始我的项目以来,我没有找到任何关于如何从外部源删除 UITableView 单元格的答案,我在这里苦苦思索如何从我的 FireStore 云存储中删除 UITableview 行或单元格,我想从数组中删除值并删除该单元格而不使用 canEditRowAt indexPath 因为我想在
中删除它
还有一件事我不知道如何将字典与数组一起使用,我不知道在这种情况下是否必须使用它
struct accepteddriverData {
var driverName: String
var userPhone: String
var username: String
var driverPhone: String
}
func driverSelected(arg: Bool, completion: (Bool) -> ()){
guard let driverid = Auth.auth().currentUser?.uid else {return}
let firestore = Firestore.firestore()
let doc = firestore.collection("offers").whereField("driverUid", isEqualTo: driverid).whereField("selected", isEqualTo: true)
doc.addSnapshotListener { (querysnap, err) in
if err != nil {
print(err?.localizedDescription ?? "")
}
querysnap?.documentChanges.forEach({ (change) in
self.DriverData = []
if (change.type == .added) {
let snap = change.document.data()
let driverName = snap["driverName"] as? String ?? ""
let userPhone = snap["userPhone"] as? String ?? ""
let username = snap["userName"] as? String ?? ""
let driverPhone = snap["driverPhone"] as? String ?? ""
let accepted = accepteddriverData(driverName: driverName, userPhone: userPhone, username: username, driverPhone: driverPhone)
self.DriverData.append(accepted)
DispatchQueue.main.async {
self.DriverOrdersTV.reloadData()
}
}
if (change.type == .removed){ // i want to delete tableView cell on this statement
let id = change.document.documentID
let snap = change.document.data()
print(id)
print(snap)
}
})
}
completion(arg)
}
【问题讨论】:
标签: ios swift uitableview google-cloud-firestore