2016-02-12 145 views
0

我正在使用核心数据的iOS应用程序,并在故事板中做了一些东西后,我试图运行应用程序,并意识到我的所有核心数据模型都失踪,除了我的原始。我的操场也不见了,但我并不在乎。我不知道发生了什么,真的需要重新获取这些数据模型。这是我在项目导航器中查找它们时看到的内容。Xcode核心数据模型丢失

enter image description here

当我尝试构建应用程序,它构建良好,但之后我立刻得到这个错误:

016-02-12 11:46:22.779 App Name[51990:1666336] CoreData: Failed to load NSManagedObjectModel with URL 
'file:///Users/myname/Library/Developer/CoreSimulator/Devices/EC2BDB71-BE0C-46CB-B208-09C5D0FD2F3B/data/Containers/Bundle/Application/76FAF1C3-8F85-4A1A-81DE-309B984176E1/App%20Name.app/DataModel.momd/' 
fatal error: unexpectedly found nil while unwrapping an Optional value 

我试图解开我的所有更改我的git自上次做出承诺,但它仍然无法找到它们。发生了什么事?有什么方法可以让他们回来吗?

+0

实际文件是否仍然存在?即使文件仍然存在,Xcode项目中可能会丢失文件。 –

+0

检查“身份和类型”检查器中显示的完整路径 – vadian

+0

不,只有DataModel.xcdatamodel在那里。没有其他版本 – Addison

回答

1

很难确切地说出发生了什么,但有些东西会导致文件消失。它与Core Data或Swift游乐场没有任何关系 - 你在某个地方遇到了严重的问题,这会让你失去数据。

这些文件应该在你的git仓库。如果通过撤消自上次提交以来发生的更改无法找到它们,则需要深入挖掘。如果他们曾经犯过,他们是可以恢复的,但是回到最后一次提交可能是不够的。它们也应该存在于用来备份硬盘的任何系统中。

核心数据可能能够帮助您通过其他方式恢复模型。如果您有某个应用程序的旧版编译副本,它将包含数据模型文件的编译版本。 Xcode可以导入这些文件并重新创建旧的模型文件。你需要创建一个新的模型文件,然后进入“编辑”菜单并选择“导入...”。

但是,所有这些都是次要问题,这是你正在失去文件,你不知道为什么。将来可能会丢失更多文件。无论发生什么事情都会再次发生你需要弄清楚为什么你会丢失文件并修复这个问题。

+0

当你使用Xcode的git接口时,它应该添加核心数据模型吗? – Addison

+0

Xcode通常会将每个项目文件添加到git仓库。但我不认为Xcode的git界面对于任何真正的工作都是可靠的或足够的。 –

+0

呃所以,事实证明,无论何时我提交了Xcode的git接口,它都没有添加数据模型......我想我应该能够从我拥有的NSManagedObject子类重新创建它 – Addison