Ios 使用ARC生成Apple Core数据教程时出错

Ios 使用ARC生成Apple Core数据教程时出错,ios,xcode,core-data,Ios,Xcode,Core Data,我一直在努力解决核心数据问题,所以我决定做这个。我正处于教程中要求我构建到目前为止我已经完成的项目的位置。所以我现在在教程中。在构建项目时,我遇到以下错误: 属性“managedObjectContext”(“NSManagedObjectContext*”)的类型与ivar“managedObjectContext”(“MSManagedObject*”的类型不匹配。 RootViewController.m Ivar在此声明 这就是我在错误窗口中得到的结果 这是我的文件的样子 RootVie

我一直在努力解决核心数据问题,所以我决定做这个。我正处于教程中要求我构建到目前为止我已经完成的项目的位置。所以我现在在教程中。在构建项目时,我遇到以下错误:

属性“managedObjectContext”(“NSManagedObjectContext*”)的类型与ivar“managedObjectContext”(“MSManagedObject*”的类型不匹配。

RootViewController.m

Ivar在此声明

这就是我在错误窗口中得到的结果

这是我的文件的样子

RootViewController.h

RootViewController.m

AppDelegate.h


AppDelegate.m

您的ivar声明不正确。在RootViewController.h中

NSManagedObject *managedObjectContext;
正如错误所抱怨的那样

NSManagedObjectContext *managedObjectContext;

事实上,在现代运行时中,很长一段时间内没有必要(通常是不明智的)为
@synthesis
'd属性显式声明支持IVAR。因此,您可以完全删除ivar行,让编译器为您生成一个ivar。

错误消息已经解释了它。 您有一个NSManagedObject类的ivar ManagedObject上下文(这是您的错误)

编译器无法合成属性managedObjectContext,因为您有一个同名但不同类的ivar

重命名ivar并更改合成行:

@synthesize managedObjectContext = _managedObjectContext;

谢谢你帮我指了指。当我到家时,我会尝试一下你说的话,然后将问题标记为已回答。感谢您的书面回复。@Chris我很高兴,如果您遇到任何问题,请告诉我。(这听起来像是相当旧的示例代码,所以如果还有其他问题等待解决,我也不会感到惊讶。)