2011-05-02 41 views
0

如何更改核心數據管理對象模型的文件名?更改核心數據管理對象模型的文件名稱

我想在我的Xcode項目中更改Core Data託管對象模型的文件名。我不關心任何移植問題。

我目前訪問該文件在我的代碼是這樣的:

NSString *path = [[NSBundle bundleForClass:[self class]] pathForResource:@"Template" ofType:@"momd"]; 

我還沒有找到一種方法來改變momd文件名/包,不會導致Xcode中無法找到更改文件名。

+0

你拖到新名稱的文件或重命名現有的文件? – saadnib 2011-05-02 04:34:11

+0

這可能很愚蠢 - 但是您嘗試在Xcode上右鍵單擊文件並選擇重命名...那裏? – nielsbot 2011-05-02 04:39:47

+0

組中Xcode中顯示的名稱不是託管對象模型的文件名 - 也不是您在加載託管對象模型時在代碼中使用的文件的名稱。 – Erik 2011-05-02 04:51:32

回答

-1

很肯定這是原因:http://openradar.appspot.com/7500956

+0

Bugreports不屬於Appsite Bugreporter。 – 2014-01-21 20:51:08

+0

這是什麼意思? – Erik 2014-01-22 02:50:59

+0

這意味着有人不喜歡openradar :) – 2015-08-14 16:42:32

4

做了幾次。

只需重命名xcdmodel並在從包中加載它時注意名稱。運行之前,請確保清潔目標。 (例如,刪除所有預編譯的文件,否則,他覺得他已經編譯模型,因此您的應用程序失敗,因爲他們在那裏有錯誤的名稱來加載momd)

+0

過去,模擬器神祕地保存了舊的.mom和.momd文件。我建議您在更改名稱後刪除模擬器上的應用程序。 – TechZen 2011-05-02 20:46:31

+0

附上TechZen的建議。除非我們刪除了應用程序,並且還清除了「DerivedData」文件夾以啓動,Xcode的過去版本給了我們奇怪的行爲。在一段時間內沒有看到,盡​​管如此,賭注它是在最新版本中修復的。 – 2012-02-20 13:16:45

+0

我一直在努力解決這個問題幾個小時,並從模擬器上刪除應用程序解決了它。所以,這仍然發生在Xcode 5上。感謝您指引我朝着正確的方向發展。 – adamkrell 2014-01-20 21:45:44

6

您在"model".xcdatamodeld內有隱藏文件.xcurrentversion

只需編輯這個文件,以匹配模型的新名稱:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs$ 
<plist version="1.0"> 
<dict> 
     <key>_XCCurrentVersionName</key> 
     <!-- This name should be the same as the file name !--> 
     <string>"model".xcdatamodel</string> 
</dict> 
</plist> 
相關問題