2009-06-29 10 views
0

Ich habe eine To-Viele-Beziehung in meinem Datenmodell, und ich möchte alle Objekte erhalten, die keine entsprechenden Objekte in der Beziehung haben. Zum Beispiel:Überprüfen einer leeren Core Data-Beziehung (SQLite)

Kunde -> Käufe

Ich möchte alle Kunden erhalten, die 0 Käufe haben.

Ich habe irgendwo gelesen, dass ich "Käufe [SIZE] = 0" verwenden könnte, aber das gibt mir einen nicht unterstützten Funktionsausdruckfehler, der meiner Meinung nach nicht mit einem SQLite-Hintergrundspeicher funktioniert (was ich nicht tue) Ich möchte aufgrund einiger Leistungseinschränkungen nicht wechseln.

Irgendwelche Ideen?

Antwort

5

Ich fand die Antwort woanders, hier ist es für die zukünftige Verwendung. Getestet auf iPhone OS 3.0.

[NSPredicate predicateWithFormat: @ "Käufe. @ Count == 0"];

+0

Die Funktion "@count" scheint mit Snow Leopard zu funktionieren, ** funktioniert jedoch nicht mit Leopard. Ich habe eine undefinierte zu-viele-Beziehung-Schlüsselpfad-Ausnahme. Irgendwelche Lösungen? Danke – adib

0

Die Dokumentation sagt, dass entweder funktionieren sollte, aber die erstere (Käufe [SIZE] == 0) nicht. Ein Fehler wurde gemeldet.

Beachten Sie, dass die Verwendung des @ count-Operators ein JOIN als Implementierungsdetail verwendet, das möglicherweise nicht die gewünschten Leistungsmerkmale aufweist.

Verwandte Themen