【发布时间】:2014-07-13 04:26:25
【问题描述】:
我通过 xcode 编辑器菜单创建了一个 NSManagedObject。我的对象只有一个属性“名称”。当我尝试设置属性时,我得到“[MyObject setName:]: unrecognized selector sent to instance”
MyObject *thing = [MyObject objectFromJSONDictionary:obj];
thing.name = obj; <-- ERROR HERE
我检查了我在 CD 中的属性“名称”与我的班级中的相同。我的接口属性也是一样的。而我的动态属性也是一样的。
@property (nonatomic, retain) NSString * name;
@dynamic name;
有什么建议吗?是的,我已经清除了 CD 对象,清理了我的项目,并再次在 CD 中创建了它。同样的问题?
【问题讨论】:
-
删除那个
@dynamic name; -
@MidhunMP:不,核心数据访问器方法是在运行时动态创建的,因此声明为
@dynamic。 -
objectFromJSONDictionary是做什么的?最可能的原因是它没有正确初始化 Core Data 对象。 -
@martinR 你是对的。不知道为什么我不能只创建 [MyObject new] 然后稍后将其保存到 CD。
-
根据documentation,
NSManagedObject必须初始化为initWithEntity:insertIntoManagedObjectContext:
标签: ios objective-c core-data