【问题标题】:Core Data: Fetch Crashes When Moving to Detail View核心数据:移动到详细视图时获取崩溃
【发布时间】:2010-11-20 19:26:24
【问题描述】:

我的应用是多视图。主视图通向包含核心数据事物的详细视图。当我尝试在主视图中按下按钮以转到详细视图时,出现以下崩溃:

2010-11-21 01:41:01.487 CustomTableView[2253:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'executeFetchRequest:error: A fetch request must have an entity.'

Core Data 代码过去在另一个项目中运行良好,但在这个项目中崩溃了。 没有Core Data的视图没有问题

我该如何解决这个问题? 任何帮助表示赞赏


更新

这是获取代码:

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];


CustomTableViewAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSManagedObjectContext *managedObjectContext = appDelegate.managedObjectContext;

NSEntityDescription *entity = [NSEntityDescription entityForName:@"Hero" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];

【问题讨论】:

    标签: iphone uitableview core-data nsfetchrequest


    【解决方案1】:

    获取请求未指定其实体。缺少这样的代码:

    NSEntityDescription *entity = [NSEntityDescription entityForName:@"EntityName" inManagedObjectContext:moc];
    [fetchRequest setEntity:entity];
    

    或者,如果您使用的是获取请求模板,则该模板缺少其实体说明符。

    【讨论】:

    • 是的,我的 fetchresultcontroller 方法中有这样的代码,这个方法在具有核心数据的视图中,我需要将它重新定位到其他地方吗?
    • 你能验证用于获取请求的实体是非零吗?可能实体名称拼写错误或托管对象上下文为 nil。
    • 实体名是一样的,但是我不确定管理对象上下文,我先复习一下
    • 对了,有没有其他因素会导致这种情况发生?
    • 我不知道。错误消息指出“获取请求必须具有实体”。这清楚地表明您的CustomTableView 中使用的获取请求缺少实体。记录实体——NSLog(@"%@", entity);——应该能够确认或打折这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    相关资源
    最近更新 更多