0

Albumというコアデータエンティティがあります。アルバムにはSongエンティティ(songsと呼ばれる)との関係があり、各Songには任意の数のTagエンティティ(tagsプロパティ内)があり、タグには名前があります。次に、アルバム内のいずれかの曲にタグが含まれているかどうかを確認します。単一のNSPredicateを使用します。

頭に浮かんだアイデアは次のとおりです。

[NSPredicate predicateWithFormat: @"ANY (ANY songs).tags LIKE %@", someTagName];

ただし、これにより実行時にエラーが発生します(「フォーマット文字列を解析できません」)。いろいろなバリエーションを試してみましたが、うまくいきませんでした。

これを行う方法はありますか?

4

2 に答える 2

0

私はあなたが欲しいと思います

[NSPredicate predicateWithFormat:@"ANY songs.@unionOfSets.tags LIKE %@", someTagName]

セット演算子と配列演算子に関するKey-Valueプログラミングガイドのセクションを確認してください。

于 2009-08-13T20:26:31.460 に答える
0

考えただけですが、おそらくLIKEはiPhoneでは利用できませんか?うまくいかないように見えるBETWEENで苦労したことは知っています。

では、タグは曲と多対多の関係を持っていませんか?そのようにモデル化されている場合、タグの曲を取得するには、プロパティtag.songsにアクセスするだけです。モデル化した方法では、曲ごとにタグを複製できるようです(アプリでは問題ない場合があります)。

于 2009-08-14T05:38:45.873 に答える