NSManagedObject setter给我:无法识别的select器发送到实例

我已经通过xcode编辑器菜单创build了一个NSManagedObject。 我的对象只有一个属性“名称”。 当我尝试设置属性时,我得到“[MyObject setName:]:无法识别的select器发送到实例”

MyObject *thing = [MyObject objectFromJSONDictionary:obj]; thing.name = obj; <-- ERROR HERE 

我已经检查过,我的财产“名称”在CD中与我的class级相同。 另外我的界面属性是一样的。 而我的dynamic属性是一样的。

 @property (nonatomic, retain) NSString * name; @dynamic name; 

有什么build议么? 是的,我已经擦除了CD对象,清理了我的项目,并再次在CD中创build它。 同样的问题?

从NSManagedObject类参考:

如果直接实例化pipe理对象,则必须调用指定的初始化程序( initWithEntity:insertIntoManagedObjectContext:

还有一个方便的方法

 +[NSEntityDescription insertNewObjectForEntityForName:inManagedObjectContext:] 

可以用来创buildpipe理对象。

核心数据对象的访问器方法是在运行时dynamic创build的,所以这个限制的一个原因是实体描述必须是已知的。

您可以创build一个nil上下文的对象,稍后将其添加到托pipe对象上下文中,请参阅:例如, 如何在初始化后将NSManagedObject关联到上下文?