Ich habe Funktionen zum Löschen und Bearbeiten meiner Kerndatenelemente über die Benutzeroberfläche. Obwohl die Änderungen in der Benutzeroberfläche funktionieren, werden sie bei der Rückkehr zur Ansicht nicht beibehalten. Ich bin mir sicher, dass ich etwas vermisst habe, das keine Rettung verursacht, aber ich kann es nicht herausfinden. Ist es nur ein Fall, den Standard-Save-Throw und Fang an das Ende der Löschfunktion hinzuzufügen? Da gibt mir das Auspacken Fehler, es sei denn? oder !Probleme mit Stammdaten, die beim Ändern von Entitäten bestehen bleiben
func controller(_ controller: NSFetchedResultsController<NSFetchRequestResult>, didChange anObject: Any, at indexPath: IndexPath?, for type: NSFetchedResultsChangeType, newIndexPath: IndexPath?) {
switch (type) {
case .insert:
if let indexPath = newIndexPath {
workoutDesignerTable.insertRows(at: [indexPath], with: .fade)
}
break;
case .delete:
if let indexPath = indexPath {
workoutDesignerTable.deleteRows(at: [indexPath], with: .fade)
}
break;
case .update:
if let indexPath = indexPath, let cell = workoutDesignerTable.cellForRow(at: indexPath) as? RoutineTableViewCell {
configure(cell, at: indexPath)
}
break;
default:
print("...")
}
}
die Lösch func
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == .delete {
// Fetch Exercise
let UserExercise = fetchedResultsController.object(at: indexPath)
// Delete Exercise
UserExercise.managedObjectContext?.delete(UserExercise)
}
}
diese Antwort:
Ich habe das Schaltergehäuse für die Funktionen eines Beispiel enthalten sind
verwendet scheint zu funktionieren, danke! – infernouk