【问题标题】:Problems With Core Data App-核心数据应用程序的问题-
【发布时间】:2011-10-09 16:20:56
【问题描述】:

当我尝试构建我的 Core Data 应用程序时,大多数代码都来自 CoreDataBooks 示例,我得到了错误

'+entityForName: could not locate an NSManagedObjectModel for entity name 'Child''

所以,看完之后,我找到了可能的原因(见This Older Stack Overflow Question):

  • Nil 托管对象上下文对象。
  • 未能将包含实体的模型添加到上下文使用的持久存储中。
  • 未能将正确的持久存储添加到上下文本身。

我的问题是,我怎么知道是哪一个导致了错误,我该如何解决它。我在调试和核心数据方面经验很少,所以这是全新的。

【问题讨论】:

    标签: iphone objective-c ios core-data nsmanagedobject


    【解决方案1】:

    最有可能的是 managedObjectContext 出现为零。我解决这个问题的方法是将 managedObjectContext 从前一个(如果它是基于导航的)传递给有问题的视图控制器,或者在 viewDidLoad 中显式声明上下文,如下所示:

    - (void)viewDidLoad {
        if (managedObjectContext == nil) {
            managedObjectContext = [(MyAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
        }
    }
    

    这将获取在您的应用委托文件中创建的上下文并将其应用于您正在使用它的视图。分配上下文有很多方法,但这可能是最直接的

    【讨论】:

      猜你喜欢
      • 2012-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-11
      • 2015-05-20
      • 2011-07-03
      相关资源
      最近更新 更多