2014-01-21 54 views
0

我在我的核心數據中創建了一個實體,並錯​​誤地將其類型保存爲String而不是Boolean。當我嘗試將類型更改爲Boolean時,應用程序在保存期間不會異常中止。當實體的數據類型發生變化時,應用程序將中止

我試着清理應用程序,刪除了模擬器的文件夾,但都沒有工作。

爲什麼我的應用程序在更改後中止?

+1

刪除模擬器或設備的應用程序,然後運行。 – CoolMonster

+0

一旦你改變你的表的模式,你需要刪除以前的安裝,以反映@CoolMonster所說的變化 – amar

+0

@CoolMonster請看看我的下面的評論。你的意思是一樣的嗎? –

回答

0

當您的模型與持久性存儲(CoreData管理的SQLite數據庫)不同步時,會發生這種情況。

如果您還沒有發佈您的應用程序,您可以刪除模擬器上的應用程序(按住圖標直到十字架出現,然後點擊十字),然後重新運行它。這應該刪除持久存儲,並創建一個與您的模型同步的新存儲。

如果您的應用程序已被許多用戶使用,則每次更改數據模型中的某些內容時,要求他們刪除並重新安裝應用程序是不可行的。這是您需要稱爲Migrations的地方。

這裏是蘋果公司的文檔吧 - https://developer.apple.com/library/mac/documentation/cocoa/conceptual/CoreDataVersioning/Articles/Introduction.html

這裏有一個教程 - http://www.raywenderlich.com/27657/how-to-perform-a-lightweight-core-data-migration

+0

我的應用程序仍在開發中。從模擬器中刪除應用程序意味着庫 - >應用程序支持 - > iPhone模擬器 - > 7.0(因爲我只使用這個) - >應用程序。刪除所有文件夾。我是對的@coolmonster。我已經嘗試過了。 –

+0

運行模擬器。從模擬器中刪除應用程序,就像從iPhone中刪除應用程序一樣。 –

+0

@Lalit_vicky我只需通過長按應用程序圖標並刪除應用程序就可以刪除模擬器本身的應用程序。 – CoolMonster

相關問題