insertNewObjectForEntityForName返回错误类型
我一直拉我的头发过去几个小时试图找出为什么insertNewObjectForEntityForName
返回NSManagedObject
即使我试图插入我自己的类型的实体。insertNewObjectForEntityForName返回错误类型
事情我都检查过一千次:
- 类名设置为在图表设计师
- 实体正确的值与另一个实体许多一对多的关系,制造出其他实体作品如预期,我确实得到正确的输出,我发誓他们是相同的
这可能会发生什么可能的原因?我不知道在哪里从这里看,谷歌并没有多大帮助:(
EDIT(解决):
这次事件与版本做...我删除了数据模型和再次重建它,一切都开始工作,之前有以前使用的几个版本... 叹息有时会问一个问题给出了如何找到解决的办法
一个想法,我仍然困惑的是为什么正在发生,尽管现在已经解决了
这与版本控制有关。 ..我删除了数据模型,再重新创建它,一切都开始工作,之前有以前使用的几个版本...叹息有时问一个问题给出了如何找到解决的办法
我曾经发生过这种情况,但它不是一个损坏的模型,它实际上是模型文件中实体定义中的错字。
基本上,实体和属性都是正确的,但在“类名”我的实体有一个错字。这导致核心数据有足够的信息来实际读写实体,但它不能实例化类(因为它实际上并不存在我误输入的名称)
我最终的想法在不同的解决方案中也会出现类似的情况。通过一系列不幸的事件(一个命名空间冲突强制更改我的一个实体),我最终得到了一个自定义实体,该实体的类在数据模型中设置为NSManagedObject的默认值,而不是正确的自定义子类。因此,在你经历删除整个数据模型和重建它的麻烦之前(就像我刚才那样,感谢上帝的git分支),只需检查以确保你的类仍然正确设置。
这是我的解决方案。非常感谢你!我对此很难过。 OMG! – sudo 2013-08-11 21:20:56
OMG!这也适用于我!这就解释了我在生成.h和.m文件时遇到的问题。 – 2014-08-14 18:27:23
今天我删除一些NSManagedObject子类的源文件,并从模型编辑器在Xcode再生后他们同样的情况。
我已经检查了project.pbxproj文件,发现有一些不一致的ID源文件对(可能Xcode的错误?)。
我已经成功通过删除所有从项目模型进行修复,然后再添加他们(和我也手动删除了一些来自project.pbxproj文件链接)。
谢谢你的提示。
今天有同样的问题。经过2个小时的拉发现发现我只是不添加实体类源文件到目标!
干净重建通常可以解决核心数据的意外问题。更改数据模型时,构建系统有点不妥 – 2010-10-14 06:23:17