NSFetchRequest *request = [Report fetchRequest];
request.predicate = [NSPredicate predicateWithFormat: @"reportId IN %@",self.selectedRowsInEditMode];
NSBatchDeleteRequest *deleteDetailsRequest = [[NSBatchDeleteRequest alloc] initWithFetchRequest:request];
deleteDetailsRequest.resultType = NSBatchDeleteResultTypeStatusOnly;
[self.managedObjectContext executeRequest:deleteDetailsRequest error:&errorExecuteRequest];
if (!errorExecuteRequest) {
NSError *deleteSaveError;
BOOL saveSuccessful = [self.managedObjectContext save:&deleteSaveError];
[self.tableView removeLoadingActivityView];
This is the code where in I am trying to delete multiple report managed objects at once but when executeRequest is called the UI freezes for quite a while and then deletes. But NSBatchDeleteRequest is supposed to be very quick in terms of deletion. I tried multiple modifications to get it working but with no success. I am not sure what I am doing wrong here. So could anyone pls suggest to get it working without UI glitch.