2015-10-24 19 views
0

Привет Я пытаюсь удалить сохраненные значения основных данных в приведенной ниже кодировке, но показывая, что они удалены, и когда я снова запускаю проект, который он показывает, включая удаленное значение, означает, что он не удаляет данные ядраОсновные данные Удалить не работает

Может ли один помочь мне в этом ...

- (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 

Может кто-нибудь помочь мне в этом .......

ответ

2
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...... 

Это позволит решить вашу проблему.

+0

Oh! Я пропустил: [appdel.managedObjectContext save: & error]; Большое спасибо за разрешение, теперь он работает – VyTcdc

+0

@abdulheru мое удовольствие. Хорошо знать, что ваша проблема решена. –