Core Data + (NSSet*) keyPathsForValuesAffecting<key>

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Core Data + (NSSet*) keyPathsForValuesAffecting<key>

    Hi Leute,

    ich checke es gerade nicht. Ich habe in meinem CD-Projekt eine Entität "Result" und eine Entität "Grade". Beide haben ein Attribut "fixedValues", das Transformable ist. Ich möchte jedes Mal, wenn sich "fixedValues" in "Grade" ändert, dass "fixedValues" in "Result" auch geändert wird. So habe ich es (vergeblich) versucht:

    Quellcode

    1. + (NSSet*) keyPathsForValuesAffectingFixedValues {return [NSSet setWithObject: @"grade.fixedValues"]; }



    Leider tut sich gar nichts, wenn fixedValues in "Result" geändert wird.. Muss ich da noch was implementieren?
  • "Result" hat eine To-One-Relationship zu "Grade". Und "Grade" hat many "Results". Ich frage mich halt, wo ich die Methode unterbringen muss. Ich bin davon ausgegangen, dass ich es in "Result" mache, da ja "Result" informiert werden möchte, wenn sich im "fixedValues" seiner "Grade" was ändert..
  • alexlaske schrieb:

    Hmm, hab da im KVO-Guide auch was gelesen, meine ich, dass das bei Core Data nicht automatisch geht. Im CD-Programming-Guide ist allerdings diesbezüglich dasselbe Beispiel wie im KVO-Guide.. Sehr merkwürdig..

    Na, ja, genau genommen ist das ja auch nicht automatisches KVO, weil die ursprüngliche KVO-NBachricht bereits vorhanden ist. Ich weiß aber auch nicht aus dem Kopp, ob das bei CD geht. Aber irgendwas war da …
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Dann werd ich es mal mit normalem KVO versuchen.. Ne Idee, we ich dann sinnvollerweise den Observer einrichte? Ich hab das vorhin auch schon mal ansatzweise versucht, es dann aber wieder verworfen in der Hoffnung, dass es doch noch einfacher geht.. In den awake-Methoden funktionierte gar nicht mal so gut.. :D
  • Ich kriege es immer noch nicht auf die Reihe. Habe nun Folgendes versucht:

    Ich habe wie oben beschrieben in "Result", das ja eine To-One-Relationship zu "Grade" hat +(NSSet*) keyPathsForValuesAffectingFixedValues implementiert -> Geht nicht
    Ich habe zusätzlich in "Grade" +(BOOL)automaticallyNotifiesObserversOfFixedValues "YES" zurückgeben lassen -> Geht nicht

    Hat jemand ne Idee, wie ich die Notification bekommen kann? Ist es evtl. relevant, dass fixedValues den Typ Transformable hat?