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

Ich habe eine Lösung für dieses Problem mithilfe einer Unterabfrage gefunden, aber ich verstehe nicht, warum das, was ich zuerst versuchte, nicht funktioniert hat.

Hier ist mein Datenmodell. Ich hole auf Rat.

Als Prädikat kann ich Folgendes tun:

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

Das funktioniert einwandfrei und gibt einen beliebigen Hinweis zurück, wenn mindestens eine der Bedingungen diesen Geländetyp aufweist.

Wenn ich dies versuche, schlägt dies jedoch fehl:

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

Was ich tun möchte, ist, einen Ratschlag zurückzugeben, bei dem für mindestens eine der Bedingungen kein Geländetyp festgelegt ist.

Folgendes funktioniert jedoch:

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

Kann mir jemand erklären, warum ich bei der Suche nach "nil" das nicht verwenden kann?ANY Syntax?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage