此应用程序允许Rider请求乘坐和司机接受请求。在这张表中,是骑手(2)要求的游乐设施。
无法更新tableviewcells,任何帮助将不胜感激。
.hidden {
display: none;
}
li {
list-style-type: none;
}
**表格视图的屏幕截图未在第一个单元格后更新**
答案 0 :(得分:1)
确保在with parameter closure
的主队列中重新加载tableview。
ref.child("drivers").child("RideRequests").observe(FIRDataEventType.value, with: { snapshot in
self.rideRequests.removeAll()
for item in snapshot.children{
self.rideRequests.append(item as! FIRDataSnapshot)
}
self.rideRequests.reverse()
DispatchQueue.main.async (execute: { () -> Void in
self.tableView.reloadData()
})
})
答案 1 :(得分:0)
Geocoder的回调是异步的,你不能通过更新回调中的标签值来简单地更改表格单元格中的值 - 你必须通知表格视图重新加载单元格才能更新它。
因此,您需要从tableView:cellForRowAt中提取GeoCoder查找,并将它们移动到viewDidLoad或viewWillAppear中的循环中。最终值应构成您模型的一部分。
在GeoCoder的回调中,您将告诉表视图重新加载每个单独的单元调用tableView.reloadRows并使用单个值数组。