11

首先,这个问题与Xcode 4 With Core Data 中的 Graphical Predicate Builder密切相关。但是,我还没有足够高的评价来发表评论,而且由于我没有提供答案,所以我要问一个更具体的新问题。

我一直在这里撞墙,所以我将提供尽可能多的细节......

问题:Apple Core Data 文档仍然引用 Xcode 3,并显示了一个用于获取属性和获取请求模板的高度复杂的图形谓词构建器。这包括以图形方式创建任意复杂度的复合谓词的能力,例如:

在此处输入图像描述

这显然是一个非常强大的工具,可以有效地使用 Core Data,据我(和其他人)所知,这个功能在 Xcode 4 中要么丢失,要么被隐藏起来。

现在,基于上面链接的 SO 问题,我们至少知道在 XCode 4 中,如果您添加 Fetch Request:

在此处输入图像描述

随后,您可以在右侧窗格中访问一个非常基本的图形谓词编辑器:

在此处输入图像描述

但是这个图形编辑器没有提供苹果文档中指出的复杂复杂性(显然仍然与 XCode 3 相关联)。而且,正如另一个 SO 问题中提到的那样,这仍然没有回答如何访问任何类型的 Fetched Properties 图形谓词构建器的问题。

据我所知,如果您添加 Fetched Property,它会出现在您的 Core Data 编辑器中,但无法访问谓词构建器。扩展:

在 Xcode 3中,详细信息窗格提供了一个“编辑谓词”按钮,可以打开 Predicate Builder:

在此处输入图像描述

这是 XCode 4 中的可比较视图:

在此处输入图像描述

可以看出,没有“编辑谓词”按钮。

问题:

1) XCode 4 中的所有这些功能在哪里?如上所示,到目前为止,我发现的唯一一个接近 Predicate Builder 的东西是非常简单的 Fetch Request 编辑器,它没有提供我能够找到的复合/复杂谓词功能。

再一次,我想在这里明确一点:除非我遗漏了一些明显的东西,否则当您创建 Fetch Request 时出现在 XC4 中的这个简单的 FetchRequest 编辑器并不是这个问题的答案。它为您提供的唯一条件选项是选择以下 [None/All/Any] 是否为真。这甚至没有接近 XCode 3 的 Predicate Builder 的功能,具有复杂的关系和可选变量等。

2)同样的问题,也特别针对Fetched Properties。

我的假设是,Apple 不仅取消了在 XCode 4 中为 Fetched Properties 和 Fetch Request Templates 以图形方式创建复杂复合谓词的能力。但我已经走到了尽头,试图找出它藏在哪里......

提前致谢。

4

1 回答 1

14

在 Xcode 4 中使用谓词构建器时按住选项键。右侧的 + 将更改为 ... 并允许您添加其他子谓词。任意的复杂性仍然存在;它只是以不同的方式访问。

编辑:似乎在 Xcode 4 中,图形谓词编辑器仅可用于保存的获取请求,而不是获取的属性。对于获取的属性,看起来您现在只需手动输入谓词即可。

于 2011-07-25T02:09:55.963 回答