1

コア データを使用するアプリがあり、NSPredicate を使用してフィルター処理されたフェッチ結果を生成しようとしています。私のコアデータのモデルは次のようになります。

ここに画像の説明を入力

基本的に、著者は 1 つ以上の引用を持つことができます。タグには多くの引用を含めることができ、その逆も同様であり、引用は 1 つまたは複数のパックに属することができます (したがって、パックは 1 つまたは複数の引用を持つことができます)。

これで、次を使用して著者からすべての引用を取得できるようになりました。

self.fetchedResultsController = [Author MR_fetchAllGroupedBy:nil
                                                           withPredicate:[NSPredicate predicateWithFormat:@"quotes.@count != 0"]
                                                                sortedBy:AuthorKeys.name
                                                               ascending:YES
                                                                delegate:self];

パック x、y、および z に引用符がある著者のすべてのリストを教えてください。上記の NSPredicate をどのように変更しますか?

4

1 に答える 1

1

以下がうまくいくはずだと思います。

NSArray *allowedPackNames = @[ @"x", @"y" ];
[NSPredicate predicateWithFormat:@"quotes.packs.packName IN %@", allowedPackNames];

フォーマット文字列の概要を参照してください

于 2013-04-01T05:18:19.160 に答える