核心数据对多关系 NSPredicate 来获取
Posted
技术标签:
【中文标题】核心数据对多关系 NSPredicate 来获取【英文标题】:Core Data to-Many relationship NSPredicate to fetch 【发布时间】:2013-04-03 15:05:51 【问题描述】:我必须获取所有具有所选书籍标签的书籍。
BOOK <<-->> TAGS
一本书可以有多个标签。 如果假设我选择一本书并且有标签“数据库,算法”。 然后它应该选择所有标签为“数据库”、“算法”和“数据库、算法”的书籍。
我从核心数据中获取的谓词是:
request.predicate = [NSPredicate predicateWithFormat:@"(ANY %K IN %@)",
REL_BOOK_TAG_LIST, tagList];
其中 tagList 是所选书籍的 tagList(NSSet
类型)。我也尝试过使用NSArray
,但没有奏效。
我正朝着正确的方向前进,应该做一些不同的事情吗?
请帮我。谢谢。
【问题讨论】:
“没用”是什么意思?你有没有得到错误或错误的结果?请更准确地描述问题。 【参考方案1】:试试这个...
[request setPredicate:[NSPredicate predicateWithFormat:@"ANY tags IN %@", tagList]];
tagList 应该是一个实际的Tag
对象数组,tags
是从Book
到Tag
的relationship
名称。
【讨论】:
这与问题中的谓词完全相同。 好吧,它没有括号,但我已经多次使用相同的谓词并且它对我有用。将等待 OP 解释为什么它不起作用并在必要时进行编辑。以上是关于核心数据对多关系 NSPredicate 来获取的主要内容,如果未能解决你的问题,请参考以下文章
具有多对多关系的核心数据 - 在 SUBQUERY 中使用 ALL 创建 NSPredicate