include background save queue on cleanup

This commit is contained in:
Saul Mora
2011-06-26 11:19:40 -06:00
parent e485f7eec6
commit c33a1152d6
5 changed files with 20 additions and 4 deletions

View File

@@ -21,6 +21,8 @@ typedef enum
@interface ARCoreDataAction : NSObject {}
+ (void) cleanUp;
#ifdef NS_BLOCKS_AVAILABLE
+ (void) saveDataWithBlock:(void(^)(NSManagedObjectContext *localContext))block;

View File

@@ -19,8 +19,21 @@ dispatch_queue_t background_save_queue()
return coredata_background_save_queue;
}
void cleanup_save_queue()
{
if (coredata_background_save_queue != NULL)
{
dispatch_release(coredata_background_save_queue);
}
}
@implementation ARCoreDataAction
+ (void) cleanUp
{
cleanup_save_queue();
}
#ifdef NS_BLOCKS_AVAILABLE
+ (void) saveDataWithBlock:(void(^)(NSManagedObjectContext *localContext))block

View File

@@ -15,9 +15,7 @@ typedef void (^CoreDataBlock)(NSManagedObjectContext *context);
#endif
@interface ActiveRecordHelpers : NSObject {
}
@interface ActiveRecordHelpers : NSObject {}
+ (void) cleanUp;

View File

@@ -6,6 +6,7 @@
//
#import "ActiveRecordHelpers.h"
#import "ARCoreDataAction.h"
#import "NSManagedObjectContext+ActiveRecord.h"
#import "NSPersistentStoreCoordinator+ActiveRecord.h"
#import "NSManagedObjectModel+ActiveRecord.h"
@@ -19,6 +20,7 @@ static SEL errorHandlerAction = nil;
+ (void) cleanUp
{
[ARCoreDataAction cleanUp];
[NSManagedObjectContext setDefaultContext:nil];
[NSManagedObjectModel setDefaultManagedObjectModel:nil];
[NSPersistentStoreCoordinator setDefaultStoreCoordinator:nil];

View File

@@ -30,7 +30,8 @@ static NSString const * kActiveRecordManagedObjectContextKey = @"ActiveRecord_NS
+ (void) setDefaultContext:(NSManagedObjectContext *)moc
{
if (defaultManageObjectContext != moc) {
if (defaultManageObjectContext != moc)
{
[defaultManageObjectContext release];
defaultManageObjectContext = [moc retain];
}