警告:“-managedObjectContext”没有协议(第)发现
问题描述:
我用下面的代码在我的第二个视图控制器警告:“-managedObjectContext”没有协议(第)发现
if (managedObjectContext == nil)
{
managedObjectContext = [[[UIApplication sharedApplication] delegate] managedObjectContext];
}
我得到了上述错误达到MOC,我不知道如何摆脱它!
答
if (managedObjectContext == nil)
{
YourAppDelegate *appDelegate = (YourAppDelegate *)[[UIApplication sharedApplication] delegate];
managedObjectContext = [appDelegate managedObjectContext];
}
在这样做时,编译器/ Xcode的知道你的[[UIApplication sharedApplication] delegate]
是YourAppDelegate
一个实例,因此它知道它有managedObjectContext
财产。
谢谢!它的工作原理,但在这种情况下,我不得不导入我的YourAppDelegate.h在我的第二/子视图控制器!?! – Joe 2010-07-16 13:46:09
是的,确实如此。为了让编译器/ Xcode在编译该文件时了解'YourAppDelegate'类,它需要访问该类的头文件:'YourAppDelegate.h'。 如果这解决了你的问题,你能接受我的答案吗?在此先感谢:) – 2010-07-16 14:08:20
不要忘记首先导入您的AppDelegate! – dormitkon 2011-07-05 00:11:44