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
+7 -5
View File
@@ -91,12 +91,14 @@ static NSOperationQueue* mainQueue;
- (void)saveContext - (void)saveContext
{ {
NSError *error = nil; NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSManagedObjectContext *managedObjectContext = self.managedObjectContext;
if (managedObjectContext != nil) { if (managedObjectContext != nil) {
if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) { [managedObjectContext performBlock:^{
Log(LOG_E, @"Critical database error: %@, %@", error, [error userInfo]); NSError *error = nil;
} if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) {
Log(LOG_E, @"Critical database error: %@, %@", error, [error userInfo]);
}
}];
} }
} }
+2 -2
View File
@@ -31,7 +31,7 @@
} }
_managedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType]; _managedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];
[_managedObjectContext setPersistentStoreCoordinator:_appDelegate.persistentStoreCoordinator]; [_managedObjectContext setParentContext:[_appDelegate managedObjectContext]];
return self; return self;
} }
@@ -175,7 +175,7 @@
- (void) saveData { - (void) saveData {
NSError* error; NSError* error;
if (![_managedObjectContext save:&error]) { if ([_managedObjectContext hasChanges] && ![_managedObjectContext save:&error]) {
Log(LOG_E, @"Unable to save hosts to database: %@", error); Log(LOG_E, @"Unable to save hosts to database: %@", error);
} }