我有一个由NSFetchedResultsController管理的表视图。我在TableViewController中使用Apple提供的样板代码。我的谓词根据名称检索对象。在使用“编辑”按钮添加/删除对象时,一切似乎都能正常工作。如果我以编程方式更改对象的名称,那么事情也可以正常,除非名称更改导致对象向上移动,在这种情况下我收到此错误:
严重的应用程序错误。在调用-controllerDidChangeContent:期间,从NSFetchedResultsController的委托中捕获到异常。 *** - [NSMutableArray objectAtIndex:]:索引1超出边界[0 .. 0] with userInfo(null)
假设我有三个名为A,C和D的对象。如果我将D重命名为B,则应用程序崩溃。如果我将C重命名为B,一切都很酷。
这里发生了什么?
答案 0 :(得分:1)
使用Deusty的NSFetchedResultsController
{{1}}子类可以帮助处理棘手的行更新和移动操作,从而导致Apple类失效,导致这些异常。
答案 1 :(得分:0)
错误消息指出异常源自您的代码,并且您使用无效索引调用objectAtIndex:
。看起来你正在从数组中删除对象,然后在将其插回到数组之前尝试检索它。