gpt4 book ai didi

objective-c - 如何在获取的属性中指定多对多属性?

转载 作者:行者123 更新时间:2023-12-03 16:37:46 25 4
gpt4 key购买 nike

我有两个实体,父实体和子实体。 Parent 实体与名为“children”的 Child 具有一对多关系。 Child 有一个名为“childName”的字符串属性。

我想在 Parent 上创建一个获取的属性,我们将其称为“specialChild”,它返回具有特定名称的 Child,我们说“Special”。当我访问获取的属性时,以下谓词返回一个空集:

  • children.childName == "特殊"
  • SUBQUERY(子项, $eachChild, $eachChild.childName =“特别”)。@count > 0
  • SUBQUERY(children, $eachChild, ANY $eachChild.childName =“特别”)。@count > 0

我相信我在某种程度上搞乱了谓词,因为我对它们仍然缺乏经验。 (我可以从 Apple 找到关于“SUBQUERY”的零文档)我应该如何在父级的获取属性谓词中指定“childName 为特殊的子级”?

是的,我正在调用 -refreshObject:mergeChanges: 但我仍然收到空结果。是的,目标实体是 Child。

visual depiction of data model

最佳答案

您想要的是parent==$FETCH_SOURCE AND childName=="Special"。这将获取 childName 为“Special”并且其 parent 是查找其特殊子对象的对象的任何 Child

所获取的属性谓词中的属性必须存在于目标实体上。这里的目的地是 Child,因此您不能使用 children,因为它仅存在于 Parent 上。

如果您在代码中编写谓词,则 $FETCH_SOURCE 部分对应于您使用 self 的位置。如果没有它,您将获得每个特殊的子级,而不仅仅是附加到原始 Parent 的子级。它表示,子项的 parent 属性必须是查找获取的属性值的特定实例。

关于objective-c - 如何在获取的属性中指定多对多属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14131122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com