我使用CoreData创建了一个新的拆分视图iPad应用程序。我所做的就是为实体添加一个新属性,这是一个字符串。 (默认为timeStamp,date)。
这会导致应用程序在启动时崩溃,只需添加它即可。怎么样?
例如我打算用它来显示文本而不是默认日期。例如。改变这一行:[newManagedObject setValue:[NSDate date] forKey:@“timeStamp”];使用日期以外的其他值。
希望你能提供帮助。
答案 0 :(得分:1)
几乎可以肯定,因为您已经在设备上安装了应用程序,现在您已经更改了Core Data模型,现有数据库的结构错误。你可以通过在崩溃后查看XCode控制台窗口来确认这一点:你应该看到一个异常堆栈跟踪,并且在上面有一条消息“用于打开存储的模型与用于创建存储的模型不兼容”商店。”当XCode将您修改后的应用程序版本安装到设备上时,它不会自动覆盖现有数据库,这很痛苦并经常让我感到困惑; - )
在对Core Data模型进行任何更改后,您必须从设备中卸载应用程序,以便从干净的数据库版本开始。 Shannon Appelcline的 iPhone in Action 网站上有more info about this aspect of Core Data。