gpt4 book ai didi

ios - iOS:executeFetchRequest:错误:提取请求必须具有一个实体

转载 作者:行者123 更新时间:2023-12-01 17:27:45 33 4
gpt4 key购买 nike

我开发了一个针对iPhone的应用程序,它使用CoreData。在模拟器上运行时,一切正常,但是在设备上运行时,出现以下错误:
"*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'executeFetchRequest:error: A fetch request must have an entity.'"
我在代码中指定并定义了一个实体,如下所示:

NSFetchRequest *select = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"NewsStand" inManagedObjectContext:[CDHelper sharedCDHelper].managedObjectContext];
[select setEntity:entity];
NSError *error;
NSMutableArray *results = [[[CDHelper sharedCDHelper].managedObjectContext executeFetchRequest:select error:&error] mutableCopy];

当我执行获取以在tableView中显示存储数据库的内容时,会发生错误。

我还定义了一个managedObjectModel:
- (NSManagedObjectModel *)managedObjectModel
{
if (__managedObjectModel != nil)
{
return __managedObjectModel;
}
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"newsStandModel" withExtension:@"momd"];
__managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return __managedObjectModel;
}

最佳答案

加载管理对象模型时,您将什么指定为模型文件名? (.mom)。

模拟器不区分大小写,设备区分大小写。即

如果文件名为MyModel.mom,则

NSString *path = [NSBundle mainBundle] pathForResource:@"mymodel" type:@"mom"];
NSURL *url = [NSURL fileURLWithString:string];
myModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:url];

适用于模拟器,但不适用于设备。

关于ios - iOS:executeFetchRequest:错误:提取请求必须具有一个实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7543260/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com