我有一个 iPhone 应用程序,它有一个 sqlite 数据库,映射到核心数据。应用程序中的所有数据操作都是通过 Coredata 进行的。
在一个表上我想添加一个字符串属性。我做了两件事,都出现了类似的崩溃:
我尝试使用 Mesasql 来更改结构。我轻松添加了 Varchar 列。但它崩溃了。
在另一次尝试中,在恢复映射的 SQLlite 数据库后,我尝试向核心数据中的实体添加属性,但它崩溃了。
这是我得到的错误: * 由于“NSCFString”类未捕获异常而终止应用程序 抛出“NSCFString”实例后调用终止
那么,如何在不破坏应用程序的情况下更改映射到核心数据的 sqlite 表的结构?我是否忘记进行提交或类似的事情?
请帮忙
最佳答案
每次修改实体时,您都必须删除 sqlite 存储。如果您的应用程序已经发布,则替代方案是 migrate your data 。这个SO answer提供了如何执行此操作的简单说明。
关于cocoa - 修改通过核心数据映射的 sqlite 数据库会引发错误 : uncaught exception of class 'NSCFString' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5286761/