自 1 个月以来,我一直在使用 NSFetchedResultsController 构建一个应用程序,并且我正在 3.1.2 SDK 上测试该应用程序。问题是我一直在我的应用程序中到处使用 NSFetchedResultsController 并且正在开发 3.1.2 版本的 SDK,现在我的客户说我应该让它与 3.0 版本兼容并且截止日期快到了。
但是每次我更改控制器处理的对象时都会崩溃,应用程序会因非常奇怪的错误而崩溃。
当删除部分中的最后一个对象以及更改使对象爱到另一个部分时,会出现此问题。
我一直在使用 Dave Mark 和 Jeff LaMarche 的“More iPhone 3 Development Tackling iPhone SDK 3”中的示例代码。我还包含了链接文本的一些更改
这是应用程序崩溃时控制台的示例输出。
*** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无效更新:节数无效。更新后表视图中包含的节数(1)必须等于更新前表视图中包含的节数(2),加上或减去插入或删除的节数(2插入,0已删除)。2010-03-14 16:23:29.758 Instaproofs[5879:207] Stack: ( 807902715, 7364425, 807986683, 811271572, 815059090, 815007323, 211023, 4363331, 810589786, 807635429, 810579728, 3620573, 3620227, 3614682, 3609719, 27337 , 810595174, 807686849, 807683624, 839142449, 839142646, 814752238)
如果我知道 NSFetchedResultsController 有这么多错误,我永远不会使用它。
所以基本上我需要我的 NSFetchedResultsControllerDelegate 在 3.0 及更高版本的 SDK 上正常工作。
如果有人帮我弄清楚我做错了什么,那将是救命稻草。