iphone - 核心数据轻量级迁移——不能合并模型

标签 iphone objective-c xcode core-data

我需要向我的核心数据模型添加一些属性,但我很难让轻量级迁移正常工作!

我不断收到错误消息“无法将模型与两个名为 blah 的不同实体合并”。

这是我所做的......

  1. 将此代码添加到我的应用委托(delegate)中。

    • (NSPersistentStoreCoordinator*)persistentStoreCoordinator {

      //等等等等

      NSDictionary* 选项 = [NSDictionary dictionaryWithObjectsAndKeys:
      [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
      [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];

      //等等等等

      返回_persistentStoreCoordinator;

  2. 单击我的数据模型,转到“设计”>“数据模型”>“添加模型版本”。

  3. 对编号最低的那个进行了更改,主要是添加了一些属性。

  4. 删除了我以前模型生成的所有托管文件,将它们发送到垃圾箱,然后从新模型创建了新文件。

  5. 已清除所有目标。

  6. 构建并运行。

错误。

请帮忙。我已经以多种不同的方式尝试了上述方法,并尝试了很多其他的东西,每次都回到我的项目的干净副本并重新开始,但没有什么能让我克服这个错误。

谢谢!

最佳答案

好吧,又一次,我生命中的另外 6 个小时完全被浪费了,因为 Apple 是一群......好吧,我就到此为止。

无论如何,感谢这个可爱的人:http://linkroller.com/fullpage/ad/13754/?http://iphonedevelopment.blogspot.com/2009/09/core-data-migration-problems.html我能够解决问题。

您按照我已经遵循的步骤进行操作,那么您需要找到以下方法:

- (NSManagedObjectModel *)managedObjectModel {

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

    managedObjectModel = [[NSManagedObjectModel mergedModelFromBundles:nil] retain];    
    return 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 是您的 xcdatamodeld 文件的名称。

啊啊啊啊。

关于iphone - 核心数据轻量级迁移——不能合并模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3682043/

相关文章:

objective-c - 如何将@class 前向声明翻译成 Swift?

ios - 找不到图书馆 |链接器命令失败

iOS/iPhone - 显示 UIActivityViewController 时隐藏状态栏

iphone - 在cocos2d中启动和停止粒子系统

ios - Collection View 单元格上的按钮对事件没有反应

iphone - 为什么 XCode 显示启动图像警告?

ios - Core Data轻量级迁移: change relationship from To-One to To-Many

iphone - 如何从 NetService 获取 IP 地址

iphone - MapView 上的指南针模式

iphone - 在 core-data 中保存 unix timestamp 将其转换为负整数