我在我的应用程序中使用 coredata 来存储数据。在我以前的应用程序版本中,它有一些实体。现在我在做新版本,改变了某些实体的一些属性名称和类型。当我在我的设备中编译和运行应用程序时,它崩溃并报告一些错误,因为旧的核心数据不再有效。我可以通过从我的设备中删除应用程序并重新编译和安装来解决这个问题。
我的问题是,如果新版本是由用户从应用商店下载的,这种变化会导致用户设备崩溃吗?因为用户会创建一些数据并存储在旧的核心数据中。另外,我是否需要将旧数据移动到新的 coredata,例如,属性名称从“photoId”更改为“picId”,那么旧的 photoId 值是否会因此更改而丢失?
最佳答案
你的问题的答案是肯定的,这也会在用户的设备上崩溃。但是有一个很好的机制可以避免所谓的核心数据迁移。 Internet 和 Apple 文档中有很多文章,这里是其中的一些:
关于ios coredata 在新版本中实体属性更改会导致崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29876951/