我想出了一个使用子查询的解决方案,但我不明白为什么我最初尝试做的事情没有起作用。
这是我的数据模型。我正在获取建议。
```
```
我可以使用以下语句作为谓词:
这是我的数据模型。我正在获取建议。
```
![enter image description here](https://istack.dev59.com/vgOE2.webp)
我可以使用以下语句作为谓词:
[NSPredicate predicateWithFormat:@"ANY conditions.terrain == %@", aTerrainObject];
这个功能可以很好地运行,并返回任何至少一个条件具有该地形类型的建议。
然而,当我尝试执行此操作时,它失败了:
[NSPredicate predicateWithFormat:@"ANY conditions.terrain == nil"];
我希望做的是返回任何一条建议,其中至少有一个条件没有设置地形类型。
然而,以下内容可以正常工作:
[NSPredicate predicateWithFormat:@"SUBQUERY(conditions, $x, $x.terrain == nil).@count > 0"];
能有人解释一下,为什么在搜索nil时不能使用ANY
语法吗?