我的应用程序是典型的非基于文档的核心数据应用程序。我没有修改任何预先提供的项目代码,并且一直使用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]会发生类似的错误。可能导致这种情况的原因是什么?
答案 0 :(得分:0)
我很确定
[NSApp managedObjectContext]
不会返回有效的managedObjectContext
。您是否使用名为NSApplication
的方法为managedObjectContext
制作了类别?如果没有,请将其更改为
[self managedObjectContext]
它应该有效。 (我假设你的代码在你的app代理中。)