核心数据获取谓词“不包含”?

Posted

技术标签:

【中文标题】核心数据获取谓词“不包含”?【英文标题】:Core Data Fetch Predicate "not contains"? 【发布时间】:2017-06-03 19:08:00 【问题描述】:

我有两个核心数据实体“Books”和“BookLists”,其中“Books”对象与“BookLists”对象有一对多关系,并且我正在尝试获取所有与 Books 类型没有关系的现有对象BooksList 类型的给定对象。

我正在获取所有与带有谓词的 BookLists 对象有关系的 Books 对象

NSPredicate(format: "booklists CONTAINS %@)", list)

所以我要找的基本上是这个谓词的否定版本,但我在任何地方都找不到关于“否定包含”谓词的任何内容。

【问题讨论】:

比较***.com/questions/14471910/…. 您是否尝试过NOT 的否定版本:NOT (booklists CONTAINS %@) @MartinR 谢谢,在子查询语法遇到了一些麻烦之后,这成功了! 【参考方案1】:

在 Martin R 将我链接到类似问题后,我能够通过使用子查询找到问题的解决方案:

NSPredicate(format: "SUBQUERY(booklists, $a, $a CONTAINS %@).@count == 0", list)

【讨论】:

以上是关于核心数据获取谓词“不包含”?的主要内容,如果未能解决你的问题,请参考以下文章

核心数据获取请求中需要谓词?

核心数据获取请求关系属性谓词

获取复杂请求核心数据的谓词和表达式

子查询谓词核心数据

核心数据连接表,有很多通过,获取的属性谓词

带有谓词的核心数据获取请求。需要正确的 NSPredicate