在我的代码中,我的功能是我的tableview应该被重置并再次绘制。
func resetList() -> Void {
self.data.removeAll()
// self.data = []
// data.removeAll(keepingCapacity: false)
if let t = tableView {
t.reloadData()
}
}
//MARK: UITableViewDataSource
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier , for: indexPath) as? FilterCell {
return cell
}
return UITableViewCell()
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.data.count
}
//MARK: UITableViewDelegate
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
let c = cell as! FilterCell
c.setFilterData(filter: self.data[indexPath.row])
c.delegate = self
}
当我调用resetList()
方法时,当我调用reloadData()
我的tableview内容仍然是旧值时,我的self.data变空了。
我在这里做错了什么。我错过了什么吗?它可能是一个什么样的问题?
答案 0 :(得分:0)
您应该尝试清理项目并重置内容&设置模拟器
答案 1 :(得分:0)
您想降低所有数据
所以删除代码中的所有数组值
您希望在表中逐个删除使用此代码
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == .delete {
arrayDays.remove(at: indexPath.row)
tableView.deleteRows(at: [indexPath], with: .left)
}
答案 2 :(得分:0)
替换此
if let t = tableView {
t.reloadData()
}
到
self.tableView.reloadData()
答案 3 :(得分:0)
您只需要重新加载tableview。请删除此
if let t = tableView {
t.reloadData()
}
}