更改属性类型后的coredata问题

Posted

技术标签:

【中文标题】更改属性类型后的coredata问题【英文标题】:coredata problem after changing property type 【发布时间】:2011-02-08 06:43:09 【问题描述】:

我的 coredata 工作正常,直到我需要将 2 个实体从整数更改为字符串, 现在我明白了

The model used to open the store is incompatible with the one used to create the store

我尝试从模拟器中删除应用程序,删除实际模拟器文件,删除构建结果,并更改应用程序名称,但无济于事,,,(我读了一些删除 xml 的内容,但无法找到它我的应用程序的名称)

请问该怎么办!!,我不想重新开始!! 谢谢

【问题讨论】:

你是否删除了项目文件夹中的构建目录 也试试这个:在 menu:build:clean all targets... 有时它可以工作... 【参考方案1】:

您需要删除持久存储。它将位于您的应用程序支持文件夹中。如果您在模拟器中运行,那么我相信它在模拟器的应用程序支持文件夹中。

编辑:模拟器应用程序支持文件夹位于

Library/Application Support/iPhone Simulator/

在那里四处逛逛。你会找到你要找的东西。

另外,为了便于使用核心数据进行开发,有时我会在文件加载失败时将其删除。确保您发布了一条日志消息,以便您知道存在加载问题。这样,每当由于对象模型的更改而无法加载存储时,您就不必手动删除文件。

【讨论】:

我发现在开发 Core Data 应用程序时,必须将应用程序的文件夹放在手边:每次在开发给定版本时更改持久存储时,都必须删除该文件。如果您要对现有应用进行升级,则需要设置迁移,请注意。

以上是关于更改属性类型后的coredata问题的主要内容,如果未能解决你的问题,请参考以下文章

ios coredata 会在新版本中更改实体属性导致崩溃

核心数据 - 更改属性类型

为将来的 NSManagedObject 插入更改某些属性的默认值?

过滤后的 SwiftUI CoreData 列表中的 Sum 属性

属性名称更改期间的 CoreData 迁移问题

Sum 十进制数据类型 SwiftUI CoreData