【问题标题】:xCode fails to create a new Core Data Model VersionxCode 无法创建新的核心数据模型版本
【发布时间】:2014-06-19 21:54:45
【问题描述】:

我正在更新现有应用并希望创建新的模型版本。

看起来 xCode 创建了一个新模型而不是创建一个版本(参见屏幕截图),这样我就无法更改当前模型,这对我来说看起来不对。

这就是假设的样子 -

而且我没有看到更改当前版本的选项。 在其他项目上进行测试看起来还可以,所以我认为这不是 xCode。

知道为什么会发生这种情况吗?

谢谢 沙尼

【问题讨论】:

  • 如果您正在创建一个新版本,这就是它的样子......为什么您认为您不能更改当前模型?
  • 嗨@LyndseyScott 编辑了我的问题以显示它通常的样子。
  • 好的,我明白你在说什么。创建新数据模型时,您是否选择了数据模型然后转到编辑器 > 添加模型版本?
  • 是的,之前做过很多次:(

标签: ios core-data xcode5 core-data-migration


【解决方案1】:

我最近遇到了这个问题,@andrewbuilder 的回答给了我实现它的提示。

只需转到您的项目导航器并删除对两个 .xcdatamodel 文件的引用。然后,在 finder 中,将您的 .xcdatamodeld 文件(确实是包)拖放到项目导航器中。这应该可以解决您的问题。

【讨论】:

    【解决方案2】:

    这里有两点要注意...

    数据模型版本具有图标 -

    数据模型版本具有扩展名.xcdatamodel

    数据模型包显示图标 -

    数据模型包具有扩展名.xcdatamodeld。注意末尾的 d

    数据模型包包含数据模型的所有版本,使其能够对任何先前版本的数据模型进行轻量级迁移,直至并包括最新的模型版本。


    您的模型版本似乎没有数据模型包容器/包装器。据我了解,您的版本必须包含在一个包中。

    您可能需要在此处完成两个过程之一...

    处理一

    查找扩展名为 .xcdatamodeld 的原始数据模型包,其中包括所有以前的模型版本。

    如有必要,将整个包复制到您的项目中。

    然后准备代码以迁移到新的数据模型。

    流程二

    如果您找不到或无法访问原始数据模型包,您可能需要重新构建数据模型,同时牢记现有用户的数据存储。

    “通配符”选项

    我还没有尝试过,但可能值得尝试将您的版本文件名重命名为jerusalemBiblicalZoo.xcdatamodeld。然后再次尝试@LyndseyScott 的建议。这可能会为您节省一些时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-19
      • 2012-11-23
      • 2016-11-19
      • 1970-01-01
      • 2012-07-15
      • 2018-10-24
      • 1970-01-01
      相关资源
      最近更新 更多