插入单元格后出错:节数无效
Posted
技术标签:
【中文标题】插入单元格后出错:节数无效【英文标题】:Error after cell insertion: invlalid number of sections 【发布时间】:2020-05-30 23:46:43 【问题描述】:收到一个新对象后,我调用这个函数插入一个单元格:
private func addCellToTheTop(recipe: Recipe)
guard let recipeTableView = self.recipeTableView else return
recipesForShow.insert(recipe, at: 0)
recipeTableView.beginUpdates()
recipeTableView.insertRows(at: [IndexPath.init(row: 0, section: 0)], with: .automatic)
recipeTableView.endUpdates()
但我得到一个错误
为什么节数不匹配?
如果很重要:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
return 1
func numberOfSections(in tableView: UITableView) -> Int
return recipesForShow.count
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat
return TableCellConfig.spaceBetweenCells
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
let headerView = UIView()
headerView.backgroundColor = UIColor.clear
return headerView
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
//...
【问题讨论】:
【参考方案1】:您收到此异常是因为您正在将一个新元素附加到用于确定numberOfSection
的数组中,而您正在向tableView
中插入一个新行。要解决此问题,您需要插入部分而不是插入新行,方法如下:
recipeTableView.insertSections([0], with: .automatic)
【讨论】:
以上是关于插入单元格后出错:节数无效的主要内容,如果未能解决你的问题,请参考以下文章