NSEntityDescription名称出现问题

时间:2010-03-25 10:33:19

标签: cocoa core-data nspredicate nsmanagedobject

此问题从previous question开始。

当我运行以下代码行时:

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

我担心的是,错误中实体名称末尾似乎出现了额外的上升。任何人都可以解释为什么会发生这种情况或我如何调试它。代码在首次运行时正常运行,但在几次Core Data提取后,它似乎会中断。这可能是与内存泄漏或类似问题有关的问题吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

没有额外的增加。你只有嵌套的引用:

  

['] + entityForName:无法找到   实体名称的NSManagedObjectModel   'OutputCell'[']

该位是异常返回的字符串。它反过来有OutputCell单引号。但它看起来确实令人困惑。如果你之前没有见过它很容易错过。

不确定导致错误的原因。

编辑:

作为调试步骤,我建议在模型上记录对-[NSManagedObjectModel entities]的调用结果,以确定它是否确实包含OutputCell实体。

您的问题的一个简单解释是,您保存后以某种方式切换模型。你不小心分配了一个不同的模型,或者你没有你的模型。要测试它,您应该记录NSManagedObjectModel实例的地址,看它是否发生变化。