mirror of
https://github.com/zhigang1992/MagicalRecord.git
synced 2026-01-12 17:32:18 +08:00
Persist changes to disk when using:
- [NSManagedObjectContext MR_saveInBackgroundErrorHandler:completion:] methods, AND the context is the default context - [MagicalRecord saveInBackground…] methods
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -19,3 +19,5 @@ UserInterfaceState.xcuserstate
|
||||
/Magical Record.xcodeproj/xcuserdata/saul.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist
|
||||
/Magical Record.xcodeproj/xcuserdata/gfurman.xcuserdatad
|
||||
Project Files/Magical Record.xcodeproj/xcuserdata
|
||||
Project Files/MagicalRecord.xcodeproj/xcuserdata/saul.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist
|
||||
Project Files/MagicalRecord.xcodeproj/xcuserdata/saul.xcuserdatad/xcschemes/iOS Test Runner.xcscheme
|
||||
|
||||
@@ -91,21 +91,26 @@
|
||||
[self MR_saveInBackgroundErrorHandler:nil completion:completion];
|
||||
}
|
||||
|
||||
- (void) MR_saveInBackgroundErrorHandler:(void (^)(NSError *))errorCallback;
|
||||
{
|
||||
[self MR_saveInBackgroundErrorHandler:errorCallback completion:nil];
|
||||
}
|
||||
|
||||
- (void) MR_saveInBackgroundErrorHandler:(void (^)(NSError *))errorCallback completion:(void (^)(void))completion;
|
||||
{
|
||||
[self performBlock:^{
|
||||
[self MR_saveWithErrorCallback:errorCallback];
|
||||
|
||||
if (completion)
|
||||
|
||||
if (self == [[self class] MR_defaultContext])
|
||||
{
|
||||
[[[self class] MR_rootSavingContext] MR_saveInBackgroundErrorHandler:errorCallback completion:completion];
|
||||
}
|
||||
|
||||
if (self == [[self class] MR_rootSavingContext])
|
||||
{
|
||||
dispatch_async(dispatch_get_main_queue(), completion);
|
||||
}
|
||||
}];
|
||||
}
|
||||
|
||||
- (void) MR_saveInBackgroundErrorHandler:(void (^)(NSError *))errorCallback;
|
||||
{
|
||||
[self MR_saveInBackgroundErrorHandler:errorCallback completion:nil];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@@ -66,12 +66,12 @@ void reset_action_queue(void)
|
||||
|
||||
if ([localContext hasChanges])
|
||||
{
|
||||
[localContext MR_saveErrorHandler:errorHandler];
|
||||
[localContext MR_saveNestedContextsErrorHandler:errorHandler];
|
||||
}
|
||||
|
||||
if (completion)
|
||||
{
|
||||
completion();
|
||||
dispatch_async(dispatch_get_main_queue(), completion);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user