2012-08-27 29 views
2

當我編譯Core Data模型時,我得到.mom,.omo和versioninfo文件。 .mom看起來像Managed Object Model文件。什麼是.omo文件?我不知道。特別是當我想爲iOS創建一個靜態庫時,如果我也嵌入了omo文件,這會讓人感到困惑。而Xcode不能識別數據模型包。我必須睡覺他們作爲文件的基礎。什麼是.omo文件?什麼是核心數據的.omo文件?需要嗎?

+1

只是一個猜測,但我認爲它有不同的組織相同的數據。我知道我可以創建一個NSManagedObjectModel使用,並獲得相同的結果。 – Bobson

+0

是的,只有當前版本的數據模型具有.omo文件。當您將數據模型的當前版本從Modelv03.mom更新到Modelv04.mom時,Xcode還將從.momd目錄中刪除Modelv03.omo文件,並將其替換爲新的Modelv04.omo文件。 –

回答

4

在今年的WWDC上,我和實驗室的Core Data工程師進行了交談,他們告訴我.omo文件只是.mom文件的優化版本。 .mom文件是一個二進制plist,而.omo是另一種加載速度更快的格式。

他們告訴我,您可以安全地刪除.omo文件,而核心數據將從稍慢的文件加載 - .mom文件。他們告訴我,這樣做只會導致額外的幾毫秒的加載時間(這引出了他們爲什麼要優先考慮的問題)。

1

在我的情況下,當我爲一個實體關係指定RenamingID時生成了omo文件。 我鏈接到這個文件的最糟糕的事情是,即使對於簡單的數據庫更改,我也失去了稍後使用輕量級數據庫遷移的能力。

+0

你刪除了這個.omo文件嗎? –

相關問題