我一直在寻找类似的答案,但我的问题似乎有点不同。
我有一个绑定到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示例作为参考。
答案 0 :(得分:-1)
我认为这是因为您在类中的数据模型不适合您的.xcdatamodeld文件中的实体。