gpt4 book ai didi

iphone - 核心数据 : Error, "Can' t 合并模型与两个名为 'foo' 的不同实体“

转载 作者:太空狗 更新时间:2023-10-30 01:38:56 24 4
gpt4 key购买 nike

我正在开发一个使用 Core Data 的 iPhone 应用程序。大多数时候,我只是在模拟器中进行测试,但偶尔会将应用程序下载到 iPad 上进行确认。

我最近更改了我的 Core Data 模型,现在当我将应用程序发送到 iPad 时,我收到 SIGABRT 异常告诉我:

 Can't merge models with two different entities named 'foo'

好的,我明白了。设备上存在旧版本的数据库。因此,我(尝试)通过按住应用程序的图标直到它开始摆动,然后点击它的“X”来终止旧版本。 iPad 询问我是否要删除应用程序及其所有数据。我说是。

我重建应用程序,针对 iPad,并得到同样的错误。

是否有让旧数据库真正消失的技巧?

最佳答案

对于那些在尝试使用核心数据轻量级迁移后遇到这个问题的人:

即使按照创建新版本数据模型的说明进行操作后,我仍遇到此问题。我注意到我的应用程序包中有两个“.mom”文件,一个“.mom”和一个包含“.mom”文件的“.momd”目录。

关键是用这个实现替换为你生成的 - (NSManagedObjectModel *)managedObjectModel 的实现:

- (NSManagedObjectModel *)managedObjectModel {

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

NSString *path = [[NSBundle mainBundle] pathForResource:@"Foo" ofType:@"momd"];
NSURL *momURL = [NSURL fileURLWithPath:path];
managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:momURL];

return managedObjectModel; }

其中“Foo”是您的数据模型的名称。

希望这对某人有用 - 我花了太多时间在这上面撞墙。再次感谢苹果! :)

关于iphone - 核心数据 : Error, "Can' t 合并模型与两个名为 'foo' 的不同实体“,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3205783/

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