[英]Core Data Delete not working
嗨,我試圖在波紋管編碼中刪除保存的核心數據值,但顯示為已刪除,當我再次運行項目時,它顯示包含已刪除的值,表示它沒有從核心數據中刪除
誰可以幫我這個事...
- (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......
這樣可以解決您的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.