gpt4 book ai didi

iphone - NSManagedObjectMOdel 在 iOS 5 及更高版本上无法初始化

转载 作者:行者123 更新时间:2023-11-29 04:25:03 26 4
gpt4 key购买 nike

我有一个项目,当我为 iOS 4.x 构建它时工作正常,但是当我为 iOS 5.x 构建它时它失败并崩溃。澄清一下,4.x 构建可以在 iOS 5.1 上正常运行,但是当我针对 5.0 或 5.1 构建时,我会遇到如下所述的崩溃。

- (NSManagedObjectModel *)managedObjectModel
{
if (__managedObjectModel == nil)
{
__managedObjectModel = [[NSManagedObjectModel mergedModelFromBundles:nil] retain]; //crash
}

return __managedObjectModel;
}

我检查了文档,据说提供 nil 作为参数应该默认为主包。有人知道 CoreData 是否有任何更改会导致这种情况发生吗?

无论如何,我已经运行了“分析”工具,并且没有报告内存泄漏或任何异常情况。

最佳答案

我已经想出了一个解决办法。我创建了一个新的单 View 项目,然后将生成的代码复制到我的新项目中以初始化托管对象模型。我的预感是 [[NSManagedObjectModel mergedModelFromBundles:nil] 在 iOS 5.1 SDK 中的工作方式不同,也许它无法找到我的数据模型,因为它没有存储在项目根目录中,而是存储在单独的“数据”文件夹。

- (NSManagedObjectModel *)managedObjectModel
{
if (__managedObjectModel != nil)
{
return __managedObjectModel;
}
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"PreferencesModel" withExtension:@"momd"];
__managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return __managedObjectModel;
}

关于iphone - NSManagedObjectMOdel 在 iOS 5 及更高版本上无法初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12432631/

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