【问题标题】:In a Core Data entity, how do I use a source entity's attribute in its fetched property's predicate?在核心数据实体中,如何在其获取的属性谓词中使用源实体的属性?
【发布时间】:2011-03-09 15:02:48
【问题描述】:

我正在使用可视化编辑器来创建核心数据模型。我不知道如何设置获取的属性的谓词,以便它在谓词中使用源实体的属性。

例如,我有一个EntityA,其属性为searchId。我也有EntityB 属性id。我想要做的是找到EntityB 的所有id 等于EntityAsearchId 属性的实例。当我尝试编辑谓词时,左侧和右侧的下拉列表仅包含目的地的键,在本例中为EntityB,无法从@中选择任何键987654330@.

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

【问题讨论】:

    标签: iphone core-data fetch predicate


    【解决方案1】:

    有点痛。

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

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

    因此,您的谓词在文本中将如下所示:

    id==$FETCH_SOURCE.searchId
    

    Apple 显然对这个功能并不十分自豪,因为他们已经将任何提及它的东西深深地埋在了库比蒂诺的神秘地下墓穴中。第一次我花了四天时间才弄明白。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多