an0*_*an0 5 core-data uitableview nsfetchedresultscontroller ios
我想我得到了它.但是我在我的应用程序中发现的新崩溃说不然.因此,任何人知道真正正确的代码NSFetchedResultsChangeUpdate时newIndexPath是非零和不一样的indexPath的-controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:?
我刚刚在更新时遇到崩溃,newIndexPath当索引路径与从表中检索单元格所需的索引路径不匹配时,它似乎作为索引路径提供到获取的结果控制器对象中.考虑以下:
在上面的例子中,假设您正在使用[tableView beginUpdates]并使用[tableView endUpdates]适当的controllerWill/DidChangeContent:方法,您将需要使用该indexPath参数从表中检索要更新的单元格(将是第0部分,索引14)和newIndexPath用于检索对象的参数使用结果控制器(将为第0部分,索引13)配置单元格.
我假设它以这种方式工作,因为就结果控制器而言,删除似乎已经发生了,但是在表视图中没有发生(由于beginUpdates/endUpdates包含更新的调用).如果你考虑上面的情况,这是有道理的,但似乎所有的文档都不考虑这种情况.
因此问题的答案是,您应该使用该indexPath参数从表视图中检索单元格,以及newIndexPath从获取的结果控制器中检索对象的参数.请注意,如果还没有插入或删除它似乎传递nil的newIndexPath,所以在这种情况下,你将不得不使用indexPath有两种用途.
| 归档时间: |
|
| 查看次数: |
1239 次 |
| 最近记录: |