2011-10-10 34 views
143

如何在Xcode中刪除舊的數據模型?該選項在菜單上被禁用。 (我想要刪除的模型尚未公開 - 它們是臨時開發模型。)如何在Xcode中刪除舊的/未使用的數據模型版本

+0

你的意思是「編輯」菜單下的「刪除」選項被禁用(而你的舊數據模型文件在文件檢查器爲所選)?或者你的意思是什麼? –

+0

是的,「編輯」菜單下的刪除選項以及控制右鍵單擊菜單(以及我可以找到的任何菜單)都被禁用。我知道有些人會到以前的xcode刪除舊/未使用的版本,但我沒有安裝一個。 – SAHM

+0

邁克爾,你能在xCode 4中做到這一點嗎? – SAHM

回答

334

這是一個黑客,但這個工作對我來說:

  1. 在Xcode中設置模型的當前版本要保持
  2. 從您的項目中.xcdatamodeld一個(右鍵點擊 - >刪除 - >刪除僅供參考
  3. 顯示.xcdatamodeld包的內容在Finder(右擊 - >顯示包內容)
  4. 刪除.xcdatamodel文件(S),你不要」我想再要
  5. 的.xcdatamodeld文件重新添加到您的項目

這樣就無需手動修改任何項目的元數據文件。

+1

我嘗試了這種技術,發現由於我的模型版本的命名方式不同,模型版本被錯誤地重新排序,並且在將xcdatamodel文件重新添加到項目中時選擇了錯誤的默認版本。這可能是因爲我高達38個型號版本,並且我沒有更改默認版本名稱,因此這些版本被命名爲「MY_APP 37.xcdatamodel」。我想刪除38.在導入時,它被拉入詞法順序,意思是「MY_APP 10.xcdatamodel」是第一個,並被選作默認值。對我而言並不理想。 – Mike

+0

邁克 - 對我來說同樣的問題,儘管我可以在文本編輯器中重新編輯project.pbxproj而沒有任何重大戲劇。仍然不理想。 –

+0

這對我有用。也許刪除模型是故意不安的,因爲它可能會導致數據丟失。 – berfis

25

我剛剛發現需要這樣做。我創建了一個新的模型版本,然後意識到我畢竟不需要它。我驚訝地發現從Xcode中刪除它(我可以找到)沒有辦法。不過,要刪除它,我做了以下操作:

首先我確定它不是我當前的型號版本。然後我去了Finder,找到我的* .xcdatamodeld文件。右鍵單擊並顯示包裝內容。在那裏你會找到實際的模型文件並且可以刪除它。

這仍然不會從Xcode中刪除它,它將在文件和組中顯示爲紅色。要阻止這種情況的發生,請返回到主* .xcodeproj文件中的查找程序和顯示包內容(您可能需要確保先備份這個文件)。在那裏打開並編輯project.pbxproj在你的模型版本名稱上查找,在我的情況下是「interval 8」。對我來說,它出現在兩條獨立的線上。我刪除了這些行,現在它完全從Xcode中刪除。

+0

@Daniel_Wood,是的,我已經找到了如何手動做到這一點,但要小心。它可能會導致一些問題...我不得不重新執行此操作,它也會在有時候切換活動和非活動版本,然後當您重置正確版本時,它不會將其移動到列表頂部(有時)會導致更多問題!非常感謝輸入。這看起來很奇怪,他們會刪除這個功能 - 我們不應該進入.xcodeproj文件! – SAHM

-2

我的答案根本不是特定問題,但它很快且有效。對於那些使用git。您可以放棄未分配的更改。

git stash save --keep-index 

然後,如果您願意,您可以使用git stash drop命令刪除該存儲。