防止核心数据错误

时间:2011-01-31 08:02:43

标签: objective-c xcode macos core-data mapping-model

我为应用商店创建了一个Mac应用程序 - 现在发现有必要为Core Data修改我的'model'文件。根据我的经验,更改此模型会在打开与旧模型绑定的旧文件(基于文档的应用程序)时产生错误。我在Apple文档中读到,你可以通过保持旧模型“版本化”然后创建新模型(我可能会弄错)来阻止这种情况 - 有没有人对此有任何提示?我不想从那些无法打开文件的人那里收到一堆愤怒的电子邮件。提前谢谢!

扎克

3 个答案:

答案 0 :(得分:3)

您可能希望查看this thread。它详细描述了如何进行自动轻量级迁移。我也根据这个描述在我的应用程序中实现了它。

答案 1 :(得分:3)

您可能需要查看: Core Data Model Versioning and Data Migration Programming Guide

您似乎在寻找的是“轻量级迁移”。

该文档中有一些提示:

  • 添加新属性时,必须将这些属性定义为可选
  • 重命名指定重命名标识符所需的项目或属性
  • ...

答案 2 :(得分:2)

查看Mathieu Cormer撰写的这篇博文,该文章解释得很清楚。

http://www.preenandprune.com/cocoamondo/?p=468