Ich habe einen NSManagedObjectContext, in dem ich eine Reihe von Unterklassen von NSManagedObjects habe, so dass einige Container für andere sind. Ich möchte beobachten, wie ein Objekt auf oberster Ebene über Änderungen an seinen Eigenschaften, Assoziationen oder den Eigenschaften/Assoziationen der darin enthaltenen Objekte benachrichtigt wird.Wie kann ich alle Änderungen innerhalb eines Untergraphen verfolgen/beobachten?
Die Verwendung der 'hasChanges' des Kontexts gibt mir nicht genug Granularität. Die Methode 'isUpdated' der Objekte gilt nur für das angegebene Objekt (und nichts in seinen Zuordnungen). Gibt es eine bequeme (vielleicht KVO-basierte) war ich Änderungen in einem Kontext, die auf einen Teilgraphen beschränkt sind?
Dank! Ich war mir dieser Benachrichtigung nicht bewusst. Es scheint immer noch wie ein massiver Overkill zu sein, eine Suche jedes Mal durchzuführen, wenn die Benachrichtigung gesendet wird. Das heißt, ich bin mir nicht sicher, wie es auch von Apple optimiert werden könnte; Grundsätzlich ist es immer noch ein Graph Traversal. –
Wenn Sie ein NSPredicate verwenden, um durch diese Objekte zu filtern, ist es tatsächlich ziemlich performant, weil alles im Speicher ist. Ich verwende diese Lösung in mehreren Anwendungen für das iPhone und es gibt in diesem Bereich noch keinen Leistungsengpass. –
Ah, guten Ruf mit einem NSPredate. Hatte nicht daran gedacht. –