Skip to content

Instantly share code, notes, and snippets.

@Ramkumartr
Created September 3, 2014 07:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Ramkumartr/acf3cdb33524ceeec474 to your computer and use it in GitHub Desktop.
Save Ramkumartr/acf3cdb33524ceeec474 to your computer and use it in GitHub Desktop.
-(void)fetchMailsFromCoreDataBG{
NSLog(@"fetchMailsFromCoreData3 @SyncMangr");
dispatch_queue_t request_queue = dispatch_queue_create("com.yourapp.DescriptionOfMethod", NULL);
dispatch_async(request_queue, ^{
AppDelegate* appDelegate = [UIApplication sharedApplication].delegate;
//self.managedObjectContext = appDelegate.managedObjectContext;
// self.mainThreadContext... // This is a reference to your main thread context
// NSPersistentStoreCoordinator *mainThreadContextStoreCoordinator = [self.managedObjectContext persistentStoreCoordinator];
// Create a new managed object context
// Set its persistent store coordinator
//NSManagedObjectContext *newMoc = [[NSManagedObjectContext alloc] init];
// [newMoc setPersistentStoreCoordinator:mainThreadContextStoreCoordinator];
// Register for context save changes notification
NSManagedObjectContext *temporaryContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSConfinementConcurrencyType];
//temporaryContext.parentContext = appDelegate.managedObjectContext;;
[temporaryContext setPersistentStoreCoordinator:appDelegate.persistentStoreCoordinator];
__block NSError *errorNow = nil;
__block NSArray *result = nil;
// [temporaryContext performBlockAndWait:^{
// temporaryContext.persistentStoreCoordinator=coordinator;
//temporaryContext.persistentStoreCoordinator=appDelegate.persistentStoreCoordinator;
// NSFetchRequest *request = [[NSFetchRequest alloc] init];
// [request setEntity:[NSEntityDescription entityForName:@"MailsFull"inManagedObjectContext:temporaryContext]];
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"MailsFull"];
// NSPredicate *predicate = [NSPredicate predicateWithFormat:@"user_mailid == %@", username];
[request setPredicate:nil];
request.returnsObjectsAsFaults = NO;
[request setFetchLimit:5000];
//NSError *errorNow = nil;
result=[temporaryContext executeFetchRequest:request error:&errorNow];
// [self performSelector:@selector(postNotificationNow) withObject:nil afterDelay:(10)];
// }];
if (errorNow) {
NSLog(@"Whoops, couldn't get it: %@", [errorNow localizedDescription]);
}
else if ([result count]){
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment