I use the following code to delete the coredata DB contents… I get the notification properly..But it seems the data are not deleted… I can’t figure it out…
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:entityDescription inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
NSError *errors;
NSArray *items = [self.managedObjectContext executeFetchRequest:fetchRequest error:&errors];
NSLog(@"FinalArray:%@",[finalArray objectAtIndex:currentImageIndex]);
NSManagedObject *managedObject=[finalArray objectAtIndex:currentImageIndex];
NSLog(@"NSManagedObject:%@",managedObject);
for (int i=0;i<[items count];i++)
{
if ([managedObject isEqual:[items objectAtIndex:i]])
{
[self.managedObjectContext deleteObject:managedObject];
NSLog(@"gone");
}
}
NSNotificationCenter *nc=[NSNotificationCenter defaultCenter];
[nc addObserver:self selector:@selector(deleteCheck:) name:NSManagedObjectContextObjectsDidChangeNotification object:self.managedObjectContext];
NSLog(@"dffsdf%@",[errors description]);
if (self.managedObjectContext==nil)
{
NSLog(@"deleted");
}
Notification Func call
- (void)deleteCheck:(NSNotification *)notification
{
NSLog(@"CoreData got Deleted");
NSDictionary *userInfoDictionary = [notification userInfo];
NSSet *deletedObjects = [userInfoDictionary objectForKey:NSDeletedObjectsKey];
NSLog(@"DeletedObjects%@",deletedObjects);
}
Since NSManagedObjectContextObjectsDidChangeNotification notification called for each time when I tap the delete button… But no effects in DB… Suggestions Please
You need to save at the end.