Die MagicalRecord save-Methode
Ich habe eine NSOperation Unterklasse, die das herunterladen und importieren von Daten in CoreData.
Sobald ich dies getan, ich möchten, speichern Sie die Rahmen, und führen Sie Sie in den default-Kontext.
Das speichern erfolgt nicht in einem block, es tut es einfach synchron, wie es schon in einem BG-thread.
Sobald ich getan habe, um die Veränderungen, die HERR save-Methode sollte ich verwenden?
Es gibt Dutzende von Ihnen und nicht wirklich wissen, was jeder tut.
Sollte ich verwenden...
- (void)save:
- (void)saveOnlySelfAndWait;
- (void)saveToPersistentStoreAndWait;
Oder sollte ich alle änderungen in der...
+ (void)saveUsingCurrentThreadContext...
Ich will, dass es synchron sein, so dass ich kontrollieren kann das Ende der operation.
Könnte wenigstens jemand erklären, die Unterschiede zwischen den verschiedenen erspart.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bestätigen, dass diese Methoden sind nicht sehr gut dokumentiert. Jedoch, Sie Folgen mit der Core-Daten nested context model ziemlich gut.
Mit
MagicalRecord
nicht verwendensave:
auf eineNSManagedObjectContext
.MagicalRecord
hat alle diese extra-Fehlerbehandlung, logging-und completion-Handler gebaut. Sie wollen diese zu nutzen.Sie scheinen zu wissen, wohin die Daten gehen muss (von einem Kontext in den root). Es hängt davon ab, Ihre Hierarchie, wie die save-Methode, die Sie verwenden müssen. Wenn Sie nur eine Ebene tief (dh. in einem untergeordneten Kontext der defaultContext),
saveOnlySelfAndWait
sparen, um diedefaultContext
. AnsonstensaveToPersistentStoreAndWait
wird, Durchlaufen Sie die Hierarchie, für Sie, den ganzen Weg, um die Daten zu speichern.Den
andWait
Methoden sind blockierende Aufrufe. Die Anrufe mit der Fertigstellung ein-handler nicht. Diese sind Recht unkompliziert in der Nutzung.