插入单元格后出错:节数无效

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)

【讨论】:

以上是关于插入单元格后出错:节数无效的主要内容,如果未能解决你的问题,请参考以下文章

phpexcel 合并单元格后插入图片 如何让图片居中

从 UITableView 插入/删除单元格后的 IndexPath 错误

phpexcel 合并单元格后插入图片 如何让图片居中

UICollectionView:添加单元格后内容偏移错误

Excel更改单元格格式后无效

如何从collectionview重新加载部分