我正在使用UITableView,我希望一次添加一个新项目,而不是在有多个新项目时一次添加所有项目。现在,我的代码是这样的:
for rowNum in 0...(counter-1) {
let when = DispatchTime.now() + 1
DispatchQueue.main.asyncAfter(deadline: when) {
self.tableView.insertRows(at: [IndexPath(row: rowNum, section: lastSection)], with: .fade)
}
}
但它不起作用。
答案 0 :(得分:1)
已经有一段时间但也许我可以提供帮助。插入新行或节时,需要使用tableView.beginUpdates()和tableView.endUpdates()。此外,在这两个函数之间,行号和数组的计数应该相等。否则会抛出错误。试试这个:
let when = DispatchTime.now() + 1
DispatchQueue.main.asyncAfter(deadline: when) {
self.tableView.beginUpdates()
self.<yourArray>.append(<newElement>)
self.tableView.insertRows(at: [IndexPath(row: self.<yourArray>.count - 1,
section: lastSection)], with: .fade)
self.tableView.endUpdates()
}