【问题标题】:iOS: Error deleting UItableviewCell :Assertion failure in -[UITableView _endCellAnimationsWithContext:]iOS:删除 UItableviewCell 时出错:-[UITableView _endCellAnimationsWithContext:] 中的断言失败
【发布时间】:2019-11-02 12:26:40
【问题描述】:

我正在实现一个 UITableView。我也在使用 CoreData。它工作正常,但是当我尝试删除一行时,我收到了这个错误:

-[UITableView _endCellAnimationsWithContext:] 中的断言失败

这是我的实现:

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
    if editingStyle == .delete{
        guard let appDelegate =
            UIApplication.shared.delegate as? AppDelegate else {
                return
        }

        let managedContext =
            appDelegate.persistentContainer.viewContext

        let fetchRequest =
            NSFetchRequest<NSManagedObject>(entityName: "Developers")
        do {
            let test = try managedContext.fetch(fetchRequest)
            let objectToDelete = test[indexPath.row] 
            managedContext.delete(objectToDelete)
            do{
                try managedContext.save()
            }catch{
                print(error)
            }
        }catch{
            print(error)
        }

        self.tableView.beginUpdates()
        tableView.deleteRows(at: [indexPath], with: .none)
        self.tableView.endUpdates()
    }
} 

问题出在这一行tableView.deleteRows(at: [indexPath], with: .none)

但我还没弄清楚为什么。我发现的大多数示例都实现了相同的 3 行代码:

self.tableView.beginUpdates()
tableView.deleteRows(at: [indexPath], with: .none)
self.tableView.endUpdates()

你们中的任何人都知道我在做什么或解决此错误吗?

【问题讨论】:

  • 在您的问题中显示完整的错误。并添加您的 numberOfRowsInSection 方法。

标签: ios swift uitableview core-data


【解决方案1】:

1- 你只需要deleteRows 所以摆脱beginUpdates & endUpdates

tableView.deleteRows(at: [indexPath], with: .none) 

2- 你从 Coredata 中删除,而你应该从表的 dataSource 数组中删除

let test = try managedContext.fetch(fetchRequest)
let objectToDelete = test[indexPath.row] 
managedContext.delete(objectToDelete)

喜欢

arr.remove(at:indexPath.row)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-25
    • 2014-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多