1

我有一个使用核心数据的应用程序,我正在尝试使用 NSPredicate 生成过滤后的提取结果。我的核心数据模型如下:

在此处输入图像描述

本质上,作者可以有一个或多个引用。一个标签可以有多个引用,反之亦然,一个引用可以属于一个或多个包(因此一个包可以有一个或多个引用)。

所以现在我已经能够使用以下方法从作者那里获得所有报价:

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 回答