NSFetchResults更新委托第一次工作,第二次崩溃

时间:2011-10-30 19:41:15

标签: core-data nsfetchedresultscontroller

我一直在寻找类似的答案,但我的问题似乎有点不同。

我有一个绑定到NSFetchResultsController的UITableView。目标是提取一些数据,在Context中添加几行,并自动更新表。简单吧? init - >空表 - > performFetch - >在上下文中创建一些对象 - >委托看到这个并更新我的表。

我正在使用样板文件NSFetchResultsController来注意当前上下文的修改。

当我使用干净的Simulator / iOS平台运行时,NSFetchController成功识别出Context中的数据已更新。但如果我第二次运行该应用程序,我会收到以下错误:

CoreData: error: Serious application error.  Exception was caught during Core Data change
processing.  This is usually a bug within an observer of 
NSManagedObjectContextObjectsDidChangeNotification.  *** -[__NSArrayI objectAtIndex:]: 
index 40 beyond bounds for empty array with userInfo (null)

在调用[self.tableView beginUpdates];

时发生崩溃

在我的调试中,我可以看到'[fetchedResultsController fetchedObjects]'是完全空的,我认为这就是问题 - 我不应该用我的测试数据更新,因为我修改了上下文?我正在使用Apple Recipe和CoreDataBooks示例作为参考。

1 个答案:

答案 0 :(得分:-1)

我认为这是因为您在类中的数据模型不适合您的.xcdatamodeld文件中的实体。