NSFetchedResultsController控制器didChange委托-断言失败

时间:2018-11-14 09:32:54

标签: swift uitableview core-data delegates nsfetchedresultscontroller

我建立了一个带有FRC的表格视图,以显示核心数据中的数据。我还实现了 controller didChange 委托,以查看核心数据中的更改:

<head>

当我运行时,我在控制台上得到了这个

  

***-[UITableView _endCellAnimationsWithContext:] CoreData中的断言失败:错误:严重的应用程序错误。捕获到异常   在调用NSFetchedResultsController的过程中从   -controllerDidChangeContent :。无效的更新:部分0中的行数无效。现有部分中包含的行数   更新之后(216)必须等于包含的行数   在该部分之前进行更新(215),加上或减去   从该部分插入或删除的行(插入0,删除0)和   加上或减去移入或移出该部分的行数(0   移入,0移出)。与userInfo(空)

尽管该应用程序不会崩溃-但表视图已被拧紧并且不显示日期。

1 个答案:

答案 0 :(得分:0)

我的错误是在插入更新时,我指的是 indexPath 而不是 newIndexPath ... < / p>

应该是:

        case .insert:
        if newIndexPath != nil && (newIndexPath?.row)! < (controller.fetchedObjects?.count)!{
            tableView.insertRows(at: [newIndexPath!], with: .left)
        }
        break;