MagicalRecord - 获取请求必须具有实体

时间:2014-02-16 23:31:51

标签: objective-c cocoa-touch cocoa magicalrecord

我认为这是使用魔法记录最简单的开始。我只是设置堆栈并执行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);
}

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

原来在主分支中的最新代码必须有一个bug ..我取而代之的是2.2分支,而且一切都开始工作了......真的很奇怪,但是那里有人偶然发现它...确保你拉最新稳定的!