Ios 核心数据删除不工作
您好,我正试图删除我的核心数据,在下面的编码中保存的值,但它显示已删除,当我再次运行项目时,它显示包括已删除的值意味着它没有从核心数据中删除 有人能帮我吗Ios 核心数据删除不工作,ios,objective-c,iphone,ios7,ios5,Ios,Objective C,Iphone,Ios7,Ios5,您好,我正试图删除我的核心数据,在下面的编码中保存的值,但它显示已删除,当我再次运行项目时,它显示包括已删除的值意味着它没有从核心数据中删除 有人能帮我吗 - (IBAction)Delete:(id)sender { AppDelegate * appdel = (AppDelegate *)[[UIApplication sharedApplication]delegate]; NSString *soughtPid= self.text1.
- (IBAction)Delete:(id)sender
{
AppDelegate * appdel = (AppDelegate *)[[UIApplication sharedApplication]delegate];
NSString *soughtPid= self.text1.text;
NSEntityDescription * productEntity = [NSEntityDescription entityForName:@"Students" inManagedObjectContext:appdel.managedObjectContext];
NSFetchRequest *fetch=[[NSFetchRequest alloc] init];
[fetch setEntity:productEntity];
NSPredicate *p=[NSPredicate predicateWithFormat:@"name == %@", soughtPid];
[fetch setPredicate:p];
//... add sorts if you want them
NSError *fetchError;
NSArray *fetchedProducts=[appdel.managedObjectContext executeFetchRequest:fetch error:&fetchError];
// handle error
for (NSManagedObject *product in fetchedProducts) {
[appdel.managedObjectContext deleteObject:product];
NSLog(@"Deleted Names : %@",[product valueForKey:@"name"]);
NSLog(@"****.......*****");
}
[tableview reloadData];
}
Core Data Available values are 4 mentioned bellow.
2015-10-24 16:47:23.588 usecoredattuts[2293:108804] Names : Rahman
2015-10-24 16:47:23.589 usecoredattuts[2293:108804] Names : Karthi
2015-10-24 16:47:23.589 usecoredattuts[2293:108804] Names : Ravi
2015-10-24 16:47:23.589 usecoredattuts[2293:108804] Names : Abdul
After deleted one value mentioned bellow
2015-10-24 16:47:31.986 usecoredattuts[2293:108804] Deleted Names : Ravi
When fetching the core data values show like this
2015-10-24 16:47:41.521 usecoredattuts[2293:108804] Names : Rahman
2015-10-24 16:47:41.521 usecoredattuts[2293:108804] Names : Abdul
2015-10-24 16:47:41.521 usecoredattuts[2293:108804] Names : Karthi
Final After stoping the xcode and again when run the project I got the bellow names.
2015-10-24 16:52:10.438 usecoredattuts[2308:110460] Names : Rahman
2015-10-24 16:52:10.438 usecoredattuts[2308:110460] Names : Karthi
2015-10-24 16:52:10.438 usecoredattuts[2308:110460] Names : Ravi
2015-10-24 16:52:10.438 usecoredattuts[2308:110460] Names : Abdul
That means the name Ravi was not deleted
有人能帮我一下吗
for (NSManagedObject *product in fetchedProducts) {
[appdel.managedObjectContext deleteObject:product];
NSLog(@"Deleted Names : %@",[product valueForKey:@"name"]);
NSLog(@"****.......*****");
}
//After delete. Save the context
NSError *error = nil;
[appdel.managedObjectContext save:&error];
//Rest of your code......
这将解决您的问题。哦!我遗漏了:[appdel.managedObjectContext保存:&错误];非常感谢您的解决,现在是working@abdulheru我的荣幸。很高兴知道你的问题已经解决了。