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。我将在下面给后代写一个答案