3

入力と同時に検索する検索バーのクエリを作成しようとしています。私がやりたいのは、「Kind」を照会し、('name' LIKE %@ AND localeIdentifier == %@) を持つ LocalName がある種類を返すことです。

名前だけを検索している場合 (localeIdentifier を無視している場合)、次のようなことができます。

ANY localized.name LIKE %@

私が欲しいのはもっと似たものです

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

要約すると、「Kind」を検索すると、対多関係の「localized」のいずれかの項目が name と localeIdentifier の両方に一致する必要があります。

これの正しい構文のアイデアはありますか?

4

1 に答える 1

9

必要なのはsubqueryです。述語形式の構文:

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

ここで、式は、3 番目の引数の述語に一致するコレクションSUBQUERY内のインスタンスのコレクションを返します。この SUBQUERY 式が空でない (つまり) インスタンスは、目的の基準に一致します。self.localizedKind@count > 0

SUBQUERY 式は OS X 10.5 で導入されました。

于 2010-02-26T21:56:46.713 に答える