【发布时间】:2021-06-08 03:03:27
【问题描述】:
即使在先清空我的数组后,我仍然得到重复的结果,有人可以解释为什么会发生这种情况我试图在许多不同的地方清空这个数组DriverOffers,但仍然得到相同的结果,重复的 tableView 单元格无处不在。
func newOrders(){
//self.DriverOffers = [] here same result
let fireStore = Firestore.firestore()
let doc = fireStore.collection("الطلبات")
doc.addSnapshotListener { (query, err) in
if err != nil {
print(err?.localizedDescription ?? "")
}
//self.DriverOffers = []
query?.documentChanges.forEach({ (change) in
//self.DriverOffers = []
switch change.type{
case .added:
for document in query!.documents{
self.DriverOffers = []
let snap = document.data()
let name = snap["name"] as? String ?? ""
let phone = snap["phone"] as? String ?? ""
let time = snap["time"] as? String ?? ""
let marketName = snap["marketName"] as? String ?? "موقع محدد"
let price = snap["amount"] as? String ?? ""
DispatchQueue.main.async {
//self.DriverOffers = []
let offer = driverOrdersData(userUid: userid, name: name, phone: phone, amount: price)
self.DriverOffers.append(offer)
self.DriverOrdersTV.reloadData()
}
}
}
case .removed:
print("removed")
case .modified:
break
}
})
}
【问题讨论】:
-
表格视图单元格数是否等于没有重复的数组项数?
-
是的
return DriverOffers.count -
然后检查表格视图单元格中的 prepareForReuse() 方法。将 nil 分配给所有 UI 对象(nameLabel.text = nil)
-
你能给我一些代码吗?我之前没有处理过
prepareForReuse(),当然不知道你在说什么
标签: arrays swift firebase uitableview google-cloud-firestore