gpt4 book ai didi

ios - 删除项目然后添加到 UITableView 时出现异常

转载 作者:行者123 更新时间:2023-11-30 10:27:19 26 4
gpt4 key购买 nike

当我从列表中删除一个对象并尝试添加一个新对象时,出现此错误

2020-01-24 14:40:26.692343+1300 HappyDays[25416:1017241] *** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无效更新:第 0 节中的行数无效更新后现有节中包含的行数 (3) 必须等于更新前该节中包含的行数 (0),加上或减去从该节中插入或删除的行数 (1)插入,0 删除)并加上或减去移入或移出该部分的行数(0 移入,0 移出)。'

我看到了与此类似的其他问题,但我已经尝试实现这些解决方案。 (Similar issueanother similar issue)

我的代码部分:选择要从表格中删除的单元格

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {      
activeObjectives.actives.remove(at: indexPath.row)
tableView.deleteRows(at: [indexPath], with: .left)
}

通过点击按钮将新对象添加到表格

@IBAction func getGoals(_ sender: UIButton) {

let newRowIndex = activeObjectives.actives.count
activeObjectives.setRandomGoalToActive(allObjectiveList: allGoalsArray)

addActiveGoalToactiveObjectives()

let indexPath = IndexPath(row: newRowIndex, section: 0)
let indexPaths = [indexPath]
activeGoalDisplay.insertRows(at: indexPaths, with: .automatic)

}

如果还需要,这是上面调用的我的 addActiveGoalToactiveObjectives 函数

func addActiveGoalToactiveObjectives() {
for goal in allGoalsArray.goalsList {
if goal.isActive == true && activeObjectives.actives.contains(goal) == false {
activeObjectives.actives.append(goal)
}
}
}

提前致谢,非常感谢任何帮助

最佳答案

我发现了这个问题。从列表中删除对象时,我没有将其设置为 false。现在,当我删除它们时,我将对象设置为非事件状态。

        activeObjectives.actives[indexPath.row].setInactive()
activeObjectives.actives.remove(at: indexPath.row)
tableView.deleteRows(at: [indexPath], with: .left)
}```


关于ios - 删除项目然后添加到 UITableView 时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59889497/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com