Core Data-Einträge im Nachhinein bearbeiten

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

  • Core Data-Einträge im Nachhinein bearbeiten


    Hallo Nochmals

    Ich habe schon wieder eine Frage zu CoreData: Wie kann ich eine Property für einen bereits erstellten Eintrag im Nachhinein ändern? Der Eintrag hat noch andere Properties und ich kenne den Wert von einer.

    Ich nehme mal an, es gibt irgendeine Funktion

    Quellcode

    1. alterEintrag = [eintrag withValue:@"Wert von Property 1" forKey:@"Property 1"]
    2. [alterEintrag setValue:@"Wert von Property 2" forKey:@"Property 2"]


    (Ich hoffe, das Ganze ist verständlich...)
  • Ok, ich habe es jetzt so versucht:

    Per File > Add habe ich aus meinem "MyDocument.xcdatamodel" die Dateien Filme.h und Filme.m erstellt. Dann habe ich in meiner Klasse per #import "Filme.h" eingebunden. Im @interface habe ich dann eine Instanzvariable erstellt: Filme *filme; In der init-Methode initialisiere ich "filme" dann: filme = [[Filme alloc] init].
    Nun dachte ich, ich könnte in meiner Funktion den Wert für "titel" so setzen:

    Quellcode

    1. [filme setValue:@"Wert" forKey@"titel"];


    Wenn ich das Programm starte, kommt schon der erste Fehler:

    Quellcode

    1. Failed to call designated initializer on NSManagedObject class 'Filme'
    Das Programm läuft aber trotzdem.

    Wenn ich dann meine Funktion aufrufe, in der ich den Wert setzte kommt das:

    Quellcode

    1. [ setValue:forUndefinedKey:]: the entity (null) is not key value coding-compliant for the key "titel"



    Wie ich auf ein bereits erstelltes Objekt mit einem bestimmten Wert für einen Key zugreifen kann, weiss ich ebenfalls noch immer nicht (auch nach studieren von Einführungsliteratur...)

    EDIT:
    Wie ich sehe, sollte man NSManagedObject mit initWithEntity:entity insertIntoManagedObjectContext:context initialisieren.
    Das habe ich jetzt gemacht. Nun bringt der Compiler zwar keine Fehler mehr, aber es passiert auch sonst nicht...

    ???

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von QuestionMark () aus folgendem Grund: Wurde ein wenig schlauer...

  • Dann werde ich wohl jetzt diesen Guide lesen, und dann zurückkehren (falls noch Fragen offen sind...).

    Bzgl. awakeFromInsert: Ich sehe noch nicht, wie mir das nützen soll, aber dafür habe ich ja den Guide :)

    Ich entschuldige mich, falls ich mich (sehr) dumm anstelle. Die Apple-Dokumente sind allesamt ziemlich gross, aber ich werde in Zukunft wohl zuerst in ihnen nachschlagen.

    MfG QuestionMark