Embed URL

HTTPS clone URL

SSH clone URL

You can clone with HTTPS or SSH.

Download Gist
View AQPerThreadManagedObjectContext.m
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
static NSString * const AQPerThreadManagedObjectContext = @"AQPerThreadManagedObjectContext";
 
void StoreManagedObjectContextForCurrentThread( NSManagedObjectContext * context )
{
[[[NSThread currentThread] threadDictionary] setObject: context forKey: AQPerThreadManagedObjectContext];
}
 
NSManagedObjectContext * PerThreadManagedObjectContext( void )
{
NSManagedObjectContext * result = [[[NSThread currentThread] threadDictionary] objectForKey: AQPerThreadManagedObjectContext];
if ( result != nil )
return ( result );
NSManagedObjectContext * moc = [[NSManagedObjectContext alloc] init];
[moc setMergePolicy: NSMergeByPropertyObjectTrumpMergePolicy];
[moc setPersistentStoreCoordinator: GetPersistentStoreCoordinator()];
StoreManagedObjectContextForCurrentThread( moc );
[moc release]; // now owned by the thread dictionary
return ( moc );
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.