Xcode 获取的核心数据ResultsController错误';提取请求必须有一个实体';entityForName返回nil

Xcode 获取的核心数据ResultsController错误';提取请求必须有一个实体';entityForName返回nil,xcode,ios,core-data,nsfetchedresultscontroller,Xcode,Ios,Core Data,Nsfetchedresultscontroller,嗨,我设置了自己的coredata应用程序,或者我尝试了… 首先,我创建了xdatamodel并生成了ModelClass,之后,我在AppDelegate中实现了我在生成的项目中发现的所有核心数据功能。最后,我在TableViewController中复制了fetchedResultsController。 获取结果控制器 - (NSFetchedResultsController *)fetchedResultsController { if (fetchedResultsControll

嗨,我设置了自己的coredata应用程序,或者我尝试了…
首先,我创建了xdatamodel并生成了ModelClass,之后,我在AppDelegate中实现了我在生成的项目中发现的所有核心数据功能。最后,我在TableViewController中复制了fetchedResultsController。
获取结果控制器

- (NSFetchedResultsController *)fetchedResultsController {

if (fetchedResultsController_ != nil) {
    return fetchedResultsController_;
}

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

NSEntityDescription *entity = [NSEntityDescription entityForName:@"ParameterGroup" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];

[fetchRequest setFetchBatchSize:20];

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];

[fetchRequest setSortDescriptors:sortDescriptors];

NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:nil cacheName:@"Root"];
aFetchedResultsController.delegate = self;
self.fetchedResultsController = aFetchedResultsController;

[aFetchedResultsController release];
[fetchRequest release];
[sortDescriptor release];
[sortDescriptors release];

NSError *error = nil;
if (![fetchedResultsController_ performFetch:&error]) {

    NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
    abort();
}

return fetchedResultsController_;
}    
首先,我检查managedObjectsController是否为!=无,它有一个地址
然后我从entityForName中的xdatamodel复制了EntityName,
但NSEntityDescription实体为零

如果我只是创建一个新的对象,例外情况是,这个实体不存在

我必须将xdatamodel连接到我的项目吗? 希望你能帮助我

非常感谢

考虑到您没有对非核心数据部分进行过大量编码,解决这一问题的最简单方法可能是创建一个新项目,在其中选中“使用核心数据”复选框。如果要使用导航栏,请选择此作为模板。如果我没有记错的话,这将生成一个包含所有所需函数的表视图。您必须修改(生成的)数据模型


请注意,如果安装了应用程序并更改了数据模型,则必须将其从模拟器中删除(否则生成的数据将与数据模型不一致,应用程序将崩溃)

解决此问题的最简单方法,因为您没有对非核心数据部分进行过大量编码,可能是创建一个新项目,在其中选中“使用核心数据”复选框。如果要使用导航栏,请选择此作为模板。如果我没有记错的话,这将生成一个包含所有所需函数的表视图。您必须修改(生成的)数据模型


请注意,如果安装了应用程序并更改了数据模型,则必须将其从模拟器中删除(否则生成的数据将与数据模型不一致,应用程序将崩溃)

此问题最常见的原因是代码中的实体名称拼写错误,因此与数据模型中的实体名称不匹配


将实体名称从模型复制并粘贴到代码中,看看这是否解决了问题。

此问题最常见的原因就是代码中实体名称拼写错误,从而与数据模型中的实体名称不匹配


将实体名称从模型复制并粘贴到代码中,看看这是否解决了问题。

焦土调试。有时候,你必须这么做。焦土调试。有时候,你必须这么做。