Core Data, NSPredicate, ANY key.path == nil

Se me ocurrió una solución a esto utilizando una subconsulta, pero no entiendo por qué lo que estaba tratando de hacer primero no funcionó.

Aquí está mi modelo de datos. Estoy buscando consejo.

Puedo hacer lo siguiente como predicado:

[NSPredicate predicateWithFormat:@"ANY conditions.terrain == %@", aTerrainObject];

eso funciona bien y devuelve cualquier consejo donde al menos una de sus condiciones tiene ese tipo de terreno.

Sin embargo, cuando intento hacer esto, falla:

[NSPredicate predicateWithFormat:@"ANY conditions.terrain == nil"];

Lo que quiero hacer es devolver cualquier consejo donde al menos una de sus condiciones no tenga establecido un tipo de terreno.

Sin embargo, lo siguiente funciona:

[NSPredicate predicateWithFormat:@"SUBQUERY(conditions, $x, $x.terrain == nil).@count > 0"];

¿Alguien puede explicar por qué, al buscar cero, no puedo usar elANY ¿sintaxis?

Respuestas a la pregunta(2)

Su respuesta a la pregunta