2

Ich habe die UITableView, die von NSMutableArray aufgefüllt wird. NSMutableArray wurde von meiner NSFetchedResultsController geschaffen, die aus einer anderen Sicht kamZeile aus UITableView löschen NSMutableArray und ManagedObjectContext

Templates *template2 = (Templates *)[fetchedResultsController objectAtIndexPath:indexPath]; 
     qModalView.templateObject = template2; 

und wurde templateObject aufgezeichnet, so habe ich habe alle meine Objekte in diese meine NSMutablArray auf diese Weise.

[templateObject.questions allObjects];

Jetzt möchte ich Zeile in meiner Tabellenansicht, in Array und in diesem bestimmten Objekt in templateObject.questions löschen.

Bitte helfen Sie, ich habe diese so weit:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    Questions *question_var = [questionsArray objectAtIndex:indexPath.row]; 

    NSLog(@"_____________________________%@", question_var.question_title); 

    NSManagedObjectContext *context = [templateObject managedObjectContext]; 
    [context deleteObject:[templateObject.questions objectAtIndexPath:indexPath]]; 

    NSError *error; 
    if (![context save:&error]) { 

     NSLog(@"Unresolved error %@, %@", error, [error userInfo]); 
     abort(); 
    }else{ 
     NSLog(@"deleted"); 
    } 
} 

Antwort

1

Sie die Zeile aus der Tabelle mit

[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] 
       withRowAnimation:YES]; 

entfernen und Sie können ein Objekt aus einer NSMutableArray mit

[myArray removeObject:myObject]; 
löschen
+0

und wie lösche ich es aus der Datenbank? Passiert das automatisch? –

+0

Sie haben bereits die Datenbank löschen, in den Zeilen "[Kontext deleteObject: [templateObject.questions objectAtIndexPath: indexPath]]; " und "[context save: & error]". –