Ich habe das Problem, wo, nachdem ich meine tableview
Zeile gelöscht hatte, wird die Zeile nicht entfernt, hier ist der Code, ich hatte das Tutorial online folgen, und es erfolgreich löschen aus Datenmodell, aber es wird nicht die gelöschte Zeile entlassen, es sei denn, ich entspanne zurück zum vorherigen Bildschirm und zurück zu dieser Ansicht, warum ist es? :UITableView Zeile wird nicht gelöscht, nachdem sie gelöscht wurde
Antwort
Sie müssen auch das Objekt aus Ihrem Array entfernen und dann Ihren tableView
nach moc.save()
erfolgreich neu laden.
let managedObject : NSManagedObject = self.frc.objectAtIndexPath(indexPath) as! NSManagedObject
self.moc.deleteObject(managedObject)
do {
try self.moc.save()
} catch {
print("Failed to save.")
return
}
Edit: Sie müssen, dass in Ihrer Frage hinzufügen, die Sie NSFetchedResultsController
verwenden, jetzt denke ich, Sie den Delegaten mit Ihrem self.frc.delegate = self
festgelegt haben, dann fügen Sie diese Delegatmethode auch die reloadData
entfernen gibt es keine brauche das jetzt.
Für weitere Details über NSFetchedResultsController überprüfen Tutorials wird es Ihnen helfen.
Sie laden die Tabelle neu, bevor Sie die Löschungen speichern, so dass Sie eine neu geladene Tabelle erhalten, die immer noch dieselben Daten enthält. Setzen Sie self.tableView.reloadData()
nach dem Speichern.
nicht helfen, meine apps Absturz – bobo
es ein Fehler "Wert vom Typ 'NSFetchResultsController' hat kein Mitglied 'entfernen Objekt'." – bobo
Überprüfen Sie meine bearbeitete Antwort :) –
es funktioniert, vielen Dank :) – bobo