Ich benutze Magical Record: Ссылка
Ich versuche Datensätze zu speichern, die ich von meiner Website in die sqllite Datenbank mit Magical Record und Core Data bekomme, aber ich bekomme immer den Fehler:
%Vor%Hier ist der Code:
%Vor% Das Problem ist, dass Sie den richtigen Kontext nicht speichern. Wenn Sie sich die Quelle ansehen, erstellt [Service createEntity]
das ManagedObject im Kontext für den aktuellen Thread. Nicht im defaultContext.
Sie müssen also anstelle von [[NSManagedObjectContext defaultContext] saveNestedContexts]
den Kontext für den aktuellen Thread speichern (d. h. den Kontext, in dem das ManagedObject erstellt wurde). Der Code sollte also [[NSManagedObjectContext MR_contextForCurrentThread]
Haben Sie versucht, die Dienstprogrammmethode saveInBackgroundWithBlock:
zu verwenden?
Wenn nicht möchten Sie vielleicht etwas wie den folgenden Code versuchen. Beachten Sie, dass es alle Ihre Objekte auf einmal im Hintergrund speichert und dann den Abschlussblock im Hauptthread ausführt:
%Vor% Darüber hinaus können Sie sehen, ob [[NSManagedObjectContext defaultContext] hasChanges]
mit YES zurücksendet, um zu prüfen, ob es sich um ein Problem beim Speichern oder der Entität selbst handelt.
Tags und Links ios ios4 core-data ios5 magicalrecord