2017-12-20 6 views
0

Ich habe zwei NSManagedObjectContext, die unabhängig sind: Es gibt keine Beziehung zwischen den beiden. Wie synchronisiert man die beiden in Core Data?Wie synchronisiert man zwei unabhängige NSManagedObjectContext in Core Data?

+1

Was meinen Sie sie unabhängig sind? Haben sie nicht den gleichen 'NSPersistentStoreCoordinator'? Unabhängig bedeutet für mich jeweils if für eine eigene Datenbank. In diesem Fall müssen Sie alle Objekte aus einem DB mit einem Kontext holen und dann alle Objekte im zweiten DB mit dem zweiten Kontext holen oder generieren. Wenn sie sich in derselben Datenbank befinden, müssen Sie nur Daten mit einem Kontext speichern und Objekte mit einem anderen abrufen. Auf jeden Fall sehe ich keine logische Bedeutung, um die beiden zu synchronisieren. –

Antwort

0

Ja, Sie können das tun, wenn Sie zwei Zusammenhang haben wie auf im Hintergrund-Thread und andere auf Hauptthread zum Beispiel dann können Sie

mergeChangesFromContextDidSaveNotification

verwenden, um die Daten von zwei verwalteten Objekt zu synchronisieren Kontext

// MARK: - 
// MARK: Notification Handling 
func managedObjectContextDidSave(notification: NSNotification) { 
    dispatch_async(dispatch_get_main_queue()) {() -> Void in 
     self.mainManagedObjectContext.mergeChangesFromContextDidSaveNotification(notification) 
    } 
} 

können Sie ganze Tutorial beziehen here

Verwandte Themen