2010-11-27 76 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网站。