0

应用程序将照片上传到服务器。

当用户选择一些照片进行上传时,照片的信息会保存到核心数据中。填充了一个表格视图,显示使用 的照片列表fetchedResultsController

表格视图包含正在进行的上传、队列中的照片和已完成上传的部分,并根据状态进行相应更新。

但是现在当我尝试添加另一组照片进行上传时,通过再次选择,而前一组仍在上传,我收到以下错误。

在此之后表格视图变为空白。我在 tableview 中看不到任何东西。

CoreData: error: Serious application error.  An exception was caught from the delegate of NSFetchedResultsController during a call to -controllerDidChangeContent:.  Invalid update: invalid number of rows in section 1.  The number of rows contained in an existing section after the update (96) must be equal to the number of rows contained in that section before the update (62), plus or minus the number of rows inserted or deleted from that section (21 inserted, 0 deleted) and plus or minus the number of rows moved into or out of that section (0 moved in, 0 moved out). with userInfo (null)
4

1 回答 1

1

这里发生的是您第一次更新已插入 21 个单元格,并添加到模型中。表格视图通过调用 tableView:numberOfRowsInSection: 来更新它的内部模型,它应该返回 83 (62 + 21),但是您的第二次更新向模型中添加了更多项目,因此它实际上返回 96。

这通常是因为您在主线程之外调用 UIKit 操作(非常糟糕),或者您在没有更新同一函数中的 tableview 的情况下对模型进行了更改。

于 2013-04-26T12:58:36.567 回答