我正在使用Core Data开发iOS应用程序,在故事板中做了一些事情之后,我尝试运行应用程序并意识到我的所有Core Data模型都丢失了,除了我的原始模型。我的游乐场也不见了,但我真的不在乎。我不知道发生了什么,真的需要恢复这些数据模型。这是我在项目导航器中查找它时看到的内容。
当我尝试构建应用程序时,它构建正常,但后来我立刻得到了这个错误:
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 :(得分:1)
很难确切地说出发生了什么,但有些事情导致你的文件消失。它与Core Data或Swift游乐场没有任何关系 - 你在某个地方遇到了严重的问题而且它会让你丢失数据。
这些文件应该在您的git存储库中。如果您无法通过撤消上次提交后的更改来找到它们,则需要深入挖掘。如果它们曾经被提交过,那么它们是可以恢复的,但是回到最后一次提交可能还不够。它们也应该存在于用于备份硬盘的任何系统中。
核心数据可能能够通过其他方式帮助您恢复模型。如果您在某处有较旧的应用程序编译副本,它将包含数据模型文件的编译版本。 Xcode可以导入它们并重新创建旧的模型文件。您可以通过创建新的模型文件,然后转到"编辑"菜单并选择"导入..."。
但是,所有这些都是您的真正问题的次要因素,这就是您丢失了文件并且您不知道原因。您将来可能会丢失更多文件。无论发生什么事都会再次发生。你需要弄清楚为什么你会丢失文件并修复这个问题。