【发布时间】:2009-12-04 06:38:16
【问题描述】:
我有一个 CoreData 驱动的导航应用程序,我正试图找出它崩溃的原因。
我有一个深度为 3 个视图控制器的层次结构,所有这些都通过 coredata 关系相关,就像这样。
TableViewA =relationship=TableViewB =relationship=TableViewC
老实说,我是核心数据的新手,我认为我的问题在于获取的结果控制器。我在 TableViewA 中有一个,在 TableViewB 中有一个,无论我走多远,控制台总是在崩溃后引用 TableViewB 的获取结果控制器方法。是这个问题吗?
具体发生的情况是,如果我启动我的应用程序并深入了解一条记录的层次结构,我们称之为 Record1,我可以删除子记录到我心中的内容。走了!没问题!
但是当我回到 TableViewA 并深入到另一条记录时,我们称它为 Record2,并尝试删除它的子记录,我的应用程序崩溃了,控制台引用 TableViewB 中的这段代码作为问题。
- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller {
// The fetch controller is about to start sending change notifications, so prepare the table view for updates.
[self.tableView beginUpdates];
}
当我进入调试器时,它总是有问题的具体方法是:
if (![x.managedObjectContext save:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
我想只要确认我对 CoreData 的白痴就是我正在寻找的一切。 哦,我应该在这种类型的应用程序中拥有多少个 ManagedObjectContext。我被告知我应该有单独的内容来添加内容,然后应该重新整合到主要内容中。这是真的? 谢谢!
【问题讨论】:
标签: iphone uitableview core-data