Objective c NSManagedObject自定义访问器/获取
我有两个对象,表单和客户。作业有表单,表单可以有子表单。我想做的是,因为表单关系是递归的,并且只有最上面的表单与作业有关系,所以在我的Objective c NSManagedObject自定义访问器/获取,objective-c,core-data,dynamic,Objective C,Core Data,Dynamic,我有两个对象,表单和客户。作业有表单,表单可以有子表单。我想做的是,因为表单关系是递归的,并且只有最上面的表单与作业有关系,所以在我的表单NSManagedObject中,如果self.job为零,我想返回最上面的“parentForm.job” import "Form.h" import "Job.h" @implementation Form // Insert code here to add functionality to your managed object subclass
表单NSManagedObject
中,如果self.job为零,我想返回最上面的“parentForm.job”
import "Form.h"
import "Job.h"
@implementation Form
// Insert code here to add functionality to your managed object subclass
通常在非托管对象中,我会这样做
-(Job *)job
{
if (!_job && self.parentForm)
return self.parentForm.job;
return _job;
}
但遗憾的是,由于是动态的,所以没有任何属性。。。显然我不能这么做
-(Job *)job
{
if (!self.job && self.parentForm)
return self.parentForm.job;
return self.job;
}
如何在此实例中为动态属性创建访问器?
非常感谢。来自Avi的评论
-(Job *)job
{
Job *job = [self primitiveValueForKey:@"job"];
if (!job && self.parentForm)
return self.parentForm.job;
return job;
}
您必须使用基本访问器。请参阅primitiveValueForKey:
。谢谢Avi。我将在下面给后代写一个答案