2010-11-27 73 views
0

我已經使用CoreData創建了一個新的拆分視圖iPad應用程序。我所做的所有事情都是添加一個新屬性給實體,它是一個字符串。 (默認是timeStamp,日期)。CoreData iPad應用程序崩潰

這會導致應用程序在啓動時崩潰並添加它。怎麼來的?

例如,我正在玩它來顯示文本,而不是它的默認日期。例如。改變這一行:[newManagedObject setValue:[NSDate date] forKey:@「timeStamp」];使用日期以外的其他值。

希望你能幫上忙。

回答

1

這幾乎可以肯定是因爲你已經在設備上安裝了應用程序,現在你已經改變了核心數據模型,現有的數據庫結構錯了。您可以通過在崩潰後查看XCode控制檯窗口來確認這一點:您應該看到一個異常堆棧跟蹤,並在上面顯示一條消息:「用於打開存儲的模型與用於創建存儲的模型不兼容商店。」當XCode將您的應用程序的修改版本安裝到設備上時,它不會自動覆蓋現有的數據庫,這是一種痛苦,並且經常使我感到失望;-)

您必須在製作後從設備上卸載應用程序核心數據模型的任何變化,以便它從一個乾淨的數據庫版本開始。有more info about this aspect of Core Data在Shannon Appelcline的iPhone in Action網站。