在Core Data实体中,如何在其fetched属性的谓词中使用源实体的属性?

jsr*_*ivo 3 iphone predicate core-data fetch

我正在使用可视化编辑器来创建Core Data模型.我无法弄清楚如何设置一个fetched属性的谓词,以便它在谓词中使用源实体的属性.

例如,我有EntityA一个属性searchId.我也有EntityB一个属性id.我想要做的就是找到的所有实例EntityB,其id等于EntityAsearchIdatrribute.当我尝试编辑谓词时,左侧和右侧的下拉列表仅包含目标的键,在这种情况下是EntityB,并且无法从中选择任何键EntityA.

我知道你可以以编程方式创建谓词,但我想知道是否有办法使用可视化编辑器来完成它.

Tec*_*Zen 6

这有点痛苦.

首先,在谓词编辑器控件中单击谓词最后一个字段右侧的空白区域,然后选择" variable".然后FETCH_SOURCE.attributeName在字段中输入" ".

FETCH_SOURCE(或代码中的$ FETCH_SOURCE)是一个特殊变量,它指示发起fetched属性的fetch的对象.还有FETCHED_PROPERTY($ FETCHED_PROPERTY),它将返回实际的NSFetchedPropertyDescription对象.

所以,你的谓词在文本中看起来像:

id==$FETCH_SOURCE.searchId
Run Code Online (Sandbox Code Playgroud)

苹果显然对此功能并不十分自豪,因为他们在库比蒂诺神话般的地下墓穴深处埋葬了任何参考资料.我花了四天时间才第一次搞清楚.