我有一个复杂的NSPredicate问题,我就是解决不了。
我的数据结构如下:
类别-有许多标题
标题-有许多产品
标题-拥有latestProduct属性(title.latestProduct)
标题可以通过排除财产(title.excluded = YES)排除,产品可以通过排除财产(product.excluded = YES)排除。
我正在寻找的结果是:我需要获取系统中所有类别的列表,但是我想在以下情况下排除类别:
(category.titles.excluded == YES)或
category.titles.latestProduct.excluded == YES)或者(这对我来说是最难的部分)
category.titles.excluded == YES)和计数(category.titles.latestProduct.excluded == YES)之和等于类别标题计数(category.titles.count)。我可以用通俗易懂的英语来描述我的问题,但无法找到正确的方式将其格式化为谓词。任何帮助都是非常感谢的!
发布于 2014-06-30 08:08:54
因此,我最终想出了使用ANY子句和子查询的组合来完成这个任务的方法。谓词如下:
ANY productTitles.excluded == nil && SUBQUERY(productTitles, $x, SUBQUERY($x.products, $y, $y.excluded == nil).@count != 0 ).@count != 0我认为子查询基本上是" ANY“子句的工作方式,但我想不出如何为子查询的子查询执行任何子句。
https://stackoverflow.com/questions/24455178
复制相似问题