代码之家  ›  专栏  ›  技术社区  ›  Mustafa

iPhone开发-CoreData运行时错误

  •  1
  • Mustafa  · 技术社区  · 15 年前

    我面临着一个奇怪的核心数据问题。这是日志:

    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.'
    

    我有一个使用nsfetchedResultsController填充表的UITableViewController层次结构,当选择特定行时,将显示详细视图。

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

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

    这个错误是什么意思?我怎么能修好它呢!?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Mike Weller    15 年前

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

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

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

    这也可能意味着MOC已重置,或者底层存储文件现在已不存在。