In meiner App habe ich Double Model of NSManagedContext verwendet. Haben Sie ein Kind managedObjectContext
mit NSMainQueueConcurrencyType
und Eltern writerManagedObjectContext
mit NSPrivateQueueConcurrencyType
, die Daten zu PersistentStoreCoordinator
speichert. Ich bin in der Lage, Daten in der Datenbank zu speichern, aber beim Abrufen bekomme ich alte Werte statt neu.NSManagedContext gibt alte Daten statt neu
Unten Code ist zu speichern Kontext zu parent context
und dann zu PersistentStoreCoordinator
.
[managedObjectContext performBlock:^{
//push to parent
//NSLog(@"pushing to parent context (writer context)");
NSError * error;
if([managedObjectContext hasChanges] && ![managedObjectContext save:&error]){
NSLog(@"main Save Error: %@", [error localizedDescription]);
}
//NSLog(@"pushing to persistentstore");
[self.writerManagedObjectContext performBlock:^{
//push to parent
NSError * error;
if([self.writerManagedObjectContext hasChanges] && ![self.writerManagedObjectContext save:&error]){
NSLog(@"writer Save Error: %@", [error localizedDescription]);
}
}];
}];
die gleichen issue auf Stapelüberlauf gefunden, aber die Antwort ist für mein Problem nicht hilfreich. Weiß jemand, wie man das macht?
Haben Sie Ihre DB-Datei überprüft, wenn sie mit den neuesten Werten in einem SQLite-Browser aktualisiert wurde? – Ellen