gpt4 book ai didi

iphone - '-[NSURL initFileURLWithPath :]: nil string parameter' when using CoreData

转载 作者:行者123 更新时间:2023-12-03 20:47:04 24 4
gpt4 key购买 nike

我有一些模型类,我想用 CoreData 框架存储它们。我已经创建了 xcdatamodel 文件并将这些已经存在的类添加到 CoreData 模型文件中。我还从 XCode 的核心数据项目模板中复制了负责管理上下文等的代码。

现在我有以下代码(它是复制的,只是文件名更改为HistoryDataModel):

- (NSManagedObjectModel *)managedObjectModel {

if (managedObjectModel != nil) {
return managedObjectModel;
}
NSString *modelPath = [[NSBundle mainBundle] pathForResource:@"HistoryDataModel" ofType:@"momd"];
NSLog(@"Model path:", modelPath);
NSURL *modelURL = [NSURL fileURLWithPath:modelPath];
managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return managedObjectModel;
}

现在,当我运行此代码并尝试访问 CoreData 中的数据时,出现以下错误:

* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[NSURL initFileURLWithPath:]: nil string parameter'

它发生在

NSString *modelPath = [[NSBundle mainBundle] pathForResource:@"HistoryDataModel" ofType:@"momd"];

正在执行(模型路径为空字符串)。

你知道我可能做错了什么吗?谢谢!

最佳答案

您可以尝试以下代码片段,这将为您节省大量时间:)

managedObjectModel = [[NSManagedObjectModel mergedModelFromBundles:nil] retain];

它返回一个通过合并所有包中找到的所有模型而创建的模型(nil 参数)。您可以将参数设置为特定的 bundle 数组。

关于iphone - '-[NSURL initFileURLWithPath :]: nil string parameter' when using CoreData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5077962/

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