xCode无法创建新的Core Data模型版本。

3
我正在更新一个现有的应用程序,希望创建一个新的模型版本。
看起来xCode创建了一个新的模型而不是创建一个版本(请参见屏幕截图),这样我就无法更改当前的模型,这看起来不对。
这是它应该看起来的样子-
我没有看到更改当前版本的选项。在其他项目上进行测试时,它看起来很正常,所以我不认为这是xCode的问题。
有什么想法为什么会发生这种情况吗?
谢谢 Shani

这就是创建新版本的样子……你觉得为什么不能改变当前的模型? - Lyndsey Scott
嗨@LyndseyScott编辑了我的问题,展示了它通常的样子。 - shannoga
1
好的,我明白你在说什么。当创建新的数据模型时,你是否选择了数据模型然后转到“编辑器 > 添加模型版本”? - Lyndsey Scott
是的,之前已经做过很多次了 :( - shannoga
2个回答

0

这里有两件事情需要注意...

数据模型版本的图标为 - Data Model Version Icon

数据模型版本的扩展名为 .xcdatamodel

数据模型包的图标为 - Data Model Package Icon

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

数据模型包包含所有版本的数据模型,以便对任何先前版本的数据模型进行轻量级迁移,包括最新的模型版本。


看起来你的模型版本没有数据模型包容器/包装。据我所知,你的版本必须包含在一个包中。

你可能需要完成以下两个过程之一...

第一步骤

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

如果需要,将整个包复制到你的项目中。

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

第二步骤

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

"通配符"选项

我没有尝试过这个方法,但值得尝试的是将你的版本文件名更改为jerusalemBiblicalZoo.xcdatamodeld。然后再次尝试@LyndseyScott的建议。这可能会节省你一些时间。


0

最近我遇到了这个问题,@andrewbuilder的回答给了我解决的线索。

只需要去你的项目导航器中删除对于两个.xcdatamodel文件的引用。然后,在Finder中将你的.xcdatamodeld文件(实际上是一个包)拖动到项目导航器中并放置即可。这样应该就解决了你的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接