2016-02-12 169 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