我试图以编程方式执行获取请求以从“EntityA”中检索某些实体。但是我需要将获取请求的目标设置为“EntityB”,谓词的工作方式类似于通过XC中的检查器面板执行此操作的方式吗?无法弄清楚如何以编程方式设置此属性?
THX
答案 0 :(得分:1)
每次获取只有一个实体作为其目标。获取的谓词只能对目标实体的属性和关系进行操作。如果要测试另一个实体的属性,则必须存在从目标实体到另一个实体的关系。
假设您有以下数据模型:
Alpha{
name:string
beta<-->Beta.alpha
}
Beta{
cost:number
alpha<-->Alpha.beta
}
Gamma{
date:date
}
如果您的抓取目标实体为Alpha
,那么您可以创建一个谓词,通过每个Beta
对象的Alpha
关系来测试beta
的属性。
NSPredicate *p=[NSPredicate predicateWithFormat:@"beta.number>5"];
...但您无法创建将访问Gamma
属性的谓词,因为没有任何关系。