Swift 核心数据获取谓词";不包含“;?

Swift 核心数据获取谓词";不包含“;?,swift,core-data,nspredicate,Swift,Core Data,Nspredicate,我有两个核心数据实体“Books”和“BookLists”,其中“Books”对象与“BookLists”对象具有对多关系,我正在尝试获取Books类型的所有现有对象,这些对象与booklist类型的给定对象没有关系 我正在获取所有Books对象,这些对象与BookLists对象具有谓词关系 NSPredicate(format: "booklists CONTAINS %@)", list) 所以我要找的基本上是这个谓词的否定版本,但我在任何地方都找不到关于“否定包含”谓词的任何内容。在Ma

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

我正在获取所有Books对象,这些对象与BookLists对象具有谓词关系

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

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

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

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

比较。您是否尝试过否定版本的
NOT
NOT(图书列表包含%@)
?@MartinR谢谢,在子查询语法出现一些问题后,这就成功了!