manageObjectContext抛出无法识别的选择器错误?

时间:2011-07-16 03:36:14

标签: objective-c cocoa core-data

我的应用程序是典型的非基于文档的核心数据应用程序。我没有修改任何预先提供的项目代码,并且一直使用Xcode默认提供的AppDelegate文件(该项目不够大,不能保证更多)。

现在,当我尝试使用

将项目添加到我的核心数据存储之一时
NSManagedObject *colorItemObject = [NSEntityDescription insertNewObjectForEntityForName:@"ColorItem" inManagedObjectContext: [NSApp managedObjectContext]];
    [colorItemObject setValue:[colorSetsArrayController valueForKeyPath:@"selection.colorSetName"] forKey:@"parent"];

它会抛出一个无法识别的选择器异常:

-[_NSStateMarker managedObjectContext]: unrecognized selector sent to instance 0x100118290

使用[self managedObjectContext]会发生类似的错误。可能导致这种情况的原因是什么?

1 个答案:

答案 0 :(得分:0)

我很确定

 [NSApp managedObjectContext]

不会返回有效的managedObjectContext。您是否使用名为NSApplication的方法为managedObjectContext制作了类别?如果没有,请将其更改为

[self managedObjectContext]

它应该有效。 (我假设你的代码在你的app代理中。)