0

这个问题来自上一个问题

当我运行以下代码行时:

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 获取后,它似乎中断了。这可能是与内存泄漏或类似问题有关的问题吗?

谢谢您的帮助。

4

1 回答 1

1

没有额外的上涨。你只有嵌套的引号:

[']+entityForName: 找不到实体名称“OutputCell”的 NSManagedObjectModel [']

该位是异常返回的字符串。它又具有OutputCell单引号。不过看起来确实很混乱。如果您之前没有看过它,很容易错过。

但是,不确定是什么导致了错误。

编辑:

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

对您的问题的一个简单解释是,您在保存后以某种方式切换模型。要么您不小心分配了不同的模型,要么您将拥有的模型归零。要对此进行测试,您应该记录 NSManagedObjectModel 实例的地址并查看它是否更改。

于 2010-03-25T11:45:55.837 回答