【问题标题】:MagicalRecord -- A fetch request must have an entityMagicalRecord -- 获取请求必须有一个实体
【发布时间】:2014-02-16 23:31:51
【问题描述】:

我有一个我认为是使用 Magical Record 的最简单的开始。我只是设置堆栈并执行 findAll 调用——我希望返回一个空数组,因为这是应用程序的第一次运行。我的代码如下。出于某种原因,我实际上得到的是

executeFetchRequest:error: A fetch request must have an entity.

我这辈子都想不通为什么。我没有我的数据模型的版本,也没有任何特别的东西。只是一个实体和一个生成的 NSMangedObject.. 以前有人见过吗?

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    [MagicalRecord setupAutoMigratingCoreDataStack];

//    Task *task = [Task MR_createEntity];
//    task.title = @"Title";

    NSArray *contexts = [Task MR_findAll];
    NSLog(@"Initial load found %lu contexts", contexts.count);
}

【问题讨论】:

标签: objective-c cocoa-touch cocoa magicalrecord


【解决方案1】:

您是否使用 Xcode 和 Core Data Entity Modeler 创建并填充了 NSManagedObjectModel?您看到的错误发生在模型中找不到实体时,或者您一开始就没有模型。仔细检查您的实体名称和类名称。如果您不使用 mogenerator,则需要确保它们匹配,或者在您自己的实体代码中使用 MR_entityName 自己映射它们。

【讨论】:

    【解决方案2】:

    事实证明,主分支中的最新代码一定有一个错误。我拉了 2.2 分支,然后一切都开始工作了。真的很奇怪,但是任何偶然发现它的人都可以使用它。确保你拉最新的马厩!

    【讨论】:

      猜你喜欢
      • 2011-05-08
      • 1970-01-01
      • 2020-12-03
      • 1970-01-01
      • 1970-01-01
      • 2015-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多