iPhone开发 - CoreData运行时错误

时间:2010-04-07 12:23:20

标签: iphone core-data nsfetchedresultscontroller

我正面临一个奇怪的CoreData问题。这是日志:

2010-04-07 15:59:36.913 MyProject[263:207] <MyEntity: 0x180370> (entity: MyEntity; id: 0x17e890 <x-coredata://0F55C533-41BD-4F09-9CCA-0CB304CAB065/MyEntity/p380> ; data: <fault>)
2010-04-07 15:59:36.918 MyProject[263:207] *** Terminating app due to uncaught exception 'NSObjectInaccessibleException', reason: 'The NSManagedObject with ID:0x17e890 <x-coredata://0F55C533-41BD-4F09-9CCA-0CB304CAB065/MyEntity/p380> has been invalidated.'

我有一个UITableViewControllers层次结构,它使用NSFetchedResultsController来填充表格,当选择特定行时,会显示详细信息视图。

UITableView (MyMainEntity)
UITableView (MyEntity)
UITableView (MyEntity) detail view

MyMainEntity UITableView和MyEntity UITableView都使用NSFetchedResultsController来显示记录。有时它在我滚动tableView时崩溃,有时当我尝试打开详细视图时它会崩溃。在应用程序崩溃之前,我可以多次导航到MyEntity详细信息视图。

这个错误是什么意思?以及如何解决它??

1 个答案:

答案 0 :(得分:1)

如果对象已失效,通常意味着已释放基础托管对象模型。您需要确保保留包含要处理的对象的托管对象模型。

有关详细信息,请参阅此页:

http://www.devworld.apple.com/mac/library/documentation/Cocoa/Conceptual/CoreData/Articles/cdTroubleshooting.html

这也可能意味着MOC已被重置,或者底层商店文件现已消失。