Fix some minor issues with saving CoreData objects

This commit is contained in:
Cameron Gutman
2018-05-30 01:19:46 -07:00
parent aea2067e1c
commit 275f6df8c1
2 changed files with 9 additions and 7 deletions

View File

@@ -91,12 +91,14 @@ static NSOperationQueue* mainQueue;
- (void)saveContext
{
NSError *error = nil;
NSManagedObjectContext *managedObjectContext = self.managedObjectContext;
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
if (managedObjectContext != nil) {
if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) {
Log(LOG_E, @"Critical database error: %@, %@", error, [error userInfo]);
}
[managedObjectContext performBlock:^{
NSError *error = nil;
if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) {
Log(LOG_E, @"Critical database error: %@, %@", error, [error userInfo]);
}
}];
}
}

View File

@@ -31,7 +31,7 @@
}
_managedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];
[_managedObjectContext setPersistentStoreCoordinator:_appDelegate.persistentStoreCoordinator];
[_managedObjectContext setParentContext:[_appDelegate managedObjectContext]];
return self;
}
@@ -175,7 +175,7 @@
- (void) saveData {
NSError* error;
if (![_managedObjectContext save:&error]) {
if ([_managedObjectContext hasChanges] && ![_managedObjectContext save:&error]) {
Log(LOG_E, @"Unable to save hosts to database: %@", error);
}