nyanev
nyanev

Reputation: 11519

Core data delete objects

I use core data in my application. When I delete object with [context deleteObject:obj], object is not deleted only with empty fields. How can I delete object permanently? Thanks in advanced. I use table view and when this view is filled with data from core data, there are empty rows where were deleted objects. This is the code:

LNAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
self.context = [appDelegate managedObjectContext];
self.accounts = [[NSArray alloc] init];

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription 
                               entityForName:@"Accounts" inManagedObjectContext:self.context];
[fetchRequest setEntity:entity];
NSError *error;

self.accounts = [self.context executeFetchRequest:fetchRequest error:&error];

Upvotes: 0

Views: 3047

Answers (1)

tams
tams

Reputation: 830

Are you making sure to save the context after you make the change?

NSError *error = nil;
if(![self.managedObjectContext save:&error])
{
  /*
   //Handle error
  */
  NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
}

Also make sure that you are referencing the correct context, as you can have more than one.

Upvotes: 4

Related Questions