gpt4 book ai didi

ios - 使用获取的结果 Controller 对删除的行进行动画处理

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

我正在寻找从表格 View 中删除项目的动画。我将获取结果 Controller 与 CoreData 结合使用。我遇到的问题是关于行数必须如何与项目数匹配的异常。

这是我删除时遇到的错误:

reason: 'Invalid update: invalid number of rows in section 0. The number of rows contained in an existing section after the update (4) must be equal to the number of rows contained in that section before the update (3), plus or minus the number of rows inserted or deleted from that section (0 inserted, 0 deleted) and plus or minus the number of rows moved into or out of that section (0 moved in, 0 moved out).'

这是代码:

override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else { return }
let context = appDelegate.persistentContainer.viewContext

if editingStyle == .delete {
// Delete the row from the data source
context.delete(fetchedResultsController.object(at: indexPath))

do {
try context.save()
// Animate deleted row
tableView.deleteRows(at: [indexPath], with: .fade)
} catch {
print("There was an error: \(error)")
}
}
}

谢谢。

最佳答案

您还需要从数组(或任何数据源)中删除该项目。

基本上,当您在 UITableView 中设置删除动画时,tableView(_:numberOfRowsInSection:) 必须少返回一个对象(或者无论您删除多少个项目)

关于ios - 使用获取的结果 Controller 对删除的行进行动画处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45119538/

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