Cocoa NSEntityDescription的名称有问题
这个问题从一个侧面引出 当我运行以下代码行时:Cocoa NSEntityDescription的名称有问题,cocoa,core-data,nspredicate,nsmanagedobject,Cocoa,Core Data,Nspredicate,Nsmanagedobject,这个问题从一个侧面引出 当我运行以下代码行时: NSEntityDescription *outputCellEntityDescription = [NSEntityDescription entityForName:@"OutputCell" inManagedObjectContext:[[self document] managedObjectContext]];
NSEntityDescription *outputCellEntityDescription = [NSEntityDescription entityForName:@"OutputCell"
inManagedObjectContext:[[self document] managedObjectContext]];
我得到以下错误:
HIToolbox: ignoring exception '+entityForName: could not locate an NSManagedObjectModel for entity name 'OutputCell'' that raised inside Carbon event dispatch
我关心的是错误中实体名称末尾似乎出现了额外的上扬。有人能解释一下为什么会发生这种情况,或者我如何调试它吗。代码在第一次运行时正常运行,但在获取一些核心数据后,代码似乎中断了。可能是内存泄漏或类似问题吗
谢谢你的帮助。没有额外的上涨。您只需要嵌套引用: [']+entityForName:找不到 实体名称的NSManagedObjectModel “OutputCell”['] 此位是异常返回的字符串。它又有
OutputCell
单引号。不过,这看起来确实令人困惑。如果你以前没看过,很容易错过
但是,不确定是什么导致了错误
编辑:
作为调试步骤,我建议在您的模型上记录调用-[NSManagedObjectModel entities]
的结果,以查看它是否确实包含OutputCell
实体
对您的问题的一个简单解释是,在保存后,您会以某种方式切换模型。可能是您意外地指定了不同的模型,也可能是您取消了现有的模型。要测试这一点,您应该记录NSManagedObjectModel实例的地址,并查看其是否更改。谢谢,我应该自己发现了该实例。还没有,我已经尝试了几天,但我正在慢慢实现。这似乎与核心数据模型在获取时在某个地方被破坏有关。您需要小心打勾。我怀疑你会对上一个问题有更多的答案,因为人们会认为它已经解决了。这个项目有实际的碳元素吗?我没有添加任何元素,但我引用了一些开源框架。不确定他们是否有。这只是一个奇怪的错误。我还没有看到核心数据、HIToolbox和这样的碳排放事件的混合。