核心数据迁移 - 添加实体

时间:2012-05-27 14:23:05

标签: iphone objective-c ios core-data

我创建了我的模型的新版本并将其设置为我当前的模型。我添加了两个新实体,其中一个实体依赖于父实体。

我在设置商店时添加了以下代码

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

我已经创建了一个映射模型 - 来源我的旧模型和目的地我的新模型。 但是,应用程序仍然在启动时崩溃。我想我在这里遗漏了一些东西。我试过通过苹果文档,但仍然无法得到什么。

1 个答案:

答案 0 :(得分:0)

当您使用修订的核心数据结构进行更新时,您需要使用新数据结构更新旧数据结构。由于旧版本已经存在,因此您的.mod文件和其他文件不会被重新创建,因此即使您的代码具有新实体,安装在用户设备中的应用程序也包含旧数据结构,当您在新数据结构中触发查询这些实体时,应用程序无法找到。所以它最终崩溃了。

否则您可以删除仅用于测试目的的应用程序。 如果您要创建应用的新版本,请参阅this link