2012-08-09 71 views
4

正在试图删除核心数据的基础行中的ios应用程序的击打它不工作,managedObjectContext deleteObject:匹配不从Core数据库中删除数据?

if (editingStyle == UITableViewCellEditingStyleDelete) { 

    appDelegate = [[UIApplication sharedApplication] delegate]; 
     NSEntityDescription *entityDesc = [NSEntityDescription entityForName:@"PRODUCTTABLE" inManagedObjectContext:appDelegate.managedObjectContext];   
     NSFetchRequest *request = [[NSFetchRequest alloc] init];   
     [request setEntity:entityDesc];   
     NSError *error; 
     NSManagedObject *matches = nil; 
     NSArray *objects = [appDelegate.managedObjectContext executeFetchRequest:request error:&error]; 
     NSLog(@"Array Count....%d",[objects count]); 
     matches=[objects objectAtIndex:([indexPath row])]; 
     NSLog(@"...%@",[matches valueForKey:@"productID"]); 
     NSLog(@"...%@",[matches valueForKey:@"pName"]); 
     NSLog(@"...%@",[matches valueForKey:@"pPrice"]); 
     NSLog(@"...%@",[matches valueForKey:@"pDate"]);   
     [appDelegate.managedObjectContext deleteObject:matches]; 


    } 

的O/P为下面的代码:

Array Count....12 
...ABC1226 
...ABC-005 
...599.39 
...2012-08-09 05:07:50 +0000 

我从同一NSManagedObject核心数据中获取数据。为什么删除不更新核心数据?

+0

您必须实际保存以保留您的更改。 ' - (BOOL)保存:(NSError **)错误'。 – 2012-08-09 09:48:47

回答

10

更改后保存上下文。

NSError * error = nil; 
[appDelegate.managedObjectContext deleteObject:matches]; 
[appDelegate.managedObjectContext save:&error]; 
+0

谢谢。这工作完美。 – milesper 2014-06-08 15:33:00