2011-03-13 65 views
1

我有一个iPhone应用程序,它有一个sqlite数据库,映射到核心数据。应用程序中的所有数据操作都是通过Coredata进行的。modyfing通过核心数据映射的SQLite数据库抛出错误:未捕获的类'NSCFString'异常

在一张桌子上,我想添加一个字符串属性。我做了两件事情,都是类似的崩溃:

  1. 我试图用Mesasql来改变结构。我轻松地添加了一个Varchar列。但它崩溃。

  2. 在还原映射的SQLlite数据库的单独尝试中,我尝试向核心数据中的实体添加属性并崩溃。

这是我得到的错误: *终止应用程序由于类的NSCFString“ 的未捕获的异常抛出的一个实例后终止所谓的“NSCFString”

那么,我该怎么改变sqlite表的结构映射到核心数据而不会破坏应用程序?我是否想做一个提交或类似的东西?

请帮

回答

1

每次修改你要删除的SQLite店的实体。如果您的应用程序已经发货,替代方案是migrate your data。这SO answer提供了一个简单的解释如何做到这一点。

+0

所以我必须删除sqllite数据库和Xcode将重新创建它? – jason 2011-03-13 04:30:49

+0

是的,当您再次启动应用程序时,它将被重新创建。 – David 2011-03-13 12:26:22

+0

好的,我创建了一个迁移目录,然后创建了名为1的迁移。我修改了数据模型和实体类以反映这两个新属性。我在xcode中删除了sqllite DB(它问我是否只想擦除引用)。然后我重新运行,并超级崩溃,再加上它不会重新创建sqlite数据库。可能发生什么的想法? – jason 2011-03-13 13:24:24

相关问题