Базовые данные, NSPredicate, ЛЮБОЙ key.path == ноль

Я нашел решение этой проблемы с помощью подзапроса, но я не понимаю, почему то, что я пытался сделать первым, не сработало.

Вот моя модель данных. Я получаю советы.

Я могу сделать следующее в качестве предиката:

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

это прекрасно работает и возвращает любой совет, если хотя бы одно из его условий имеет этот тип местности.

Однако, когда я пытаюсь сделать это, это терпит неудачу:

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

То, что я хочу сделать, это вернуть любой совет, где хотя бы в одном из его условий не установлен тип местности.

Тем не менее, следующее работает:

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

Может кто-нибудь объяснить, почему при поиске ноль я не могу использоватьANY синтаксис?

Ответы на вопрос(2)

Ваш ответ на вопрос