3

我正在尝试为 find-as-you-type 搜索栏编写查询。我想要做的是查询“Kind”,并返回任何具有 LocalName 的种类('name' LIKE %@ AND localeIdentifier == %@)。

如果我只搜索名称(因此忽略 localeIdentifier),我可以执行以下操作:

ANY localized.name LIKE %@

我想要的是更像

ANY localized.(name LIKE %@ AND localeIdentifier == %@)

综上所述,搜索“Kind”,“localized”对多关系中的任何一项都应匹配名称和 localeIdentifier。

关于这个正确语法的任何想法?

4

1 回答 1

9

你想要的是一个子查询。在谓词格式语法中:

SUBQUERY(self.localized, $x, $x.name LIKE %@ AND $x.localeIdentifier == %@).@count > 0

其中表达式返回集合中与第三个参数中的谓词匹配的SUBQUERY实例集合。此 SUBQUERY 表达式为非空(即)的实例与您所需的条件匹配。self.localizedKind@count > 0

SUBQUERY 表达式是在 OS X 10.5 中引入的。

于 2010-02-26T21:56:46.713 回答