我使用以下代码删除 coredata 数据库内容...我正确收到通知..但似乎数据没有被删除...我想不通...
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");
}
通知功能调用
- (void)deleteCheck:(NSNotification *)notification
{
NSLog(@"CoreData got Deleted");
NSDictionary *userInfoDictionary = [notification userInfo];
NSSet *deletedObjects = [userInfoDictionary objectForKey:NSDeletedObjectsKey];
NSLog(@"DeletedObjects%@",deletedObjects);
}
由于每次点击删除按钮时都会调用 NSManagedObjectContextObjectsDidChangeNotification 通知...但是在数据库中没有效果...请提出建议