Zeilen per Wischgeste löschen
Entfernen Sie Elemente mit onDelete.
Zeilen per Wischgeste löschen ist eine kostenlose SwiftUI Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des SwiftUI Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der SwiftUI Academy-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
Lists That Can Lose Rows
A static list just shows data. Real apps let people remove items, and SwiftUI makes deletion feel native with a simple swipe. ✨
Meet onDelete
The onDelete modifier attaches to a ForEach inside a List. It enables the swipe-left gesture that reveals a red Delete button.
Your Data Lives in State
To delete a row you must own the data. Keep your array in @State so changing it instantly refreshes the list on screen.
struct Item: Identifiable {
let id = UUID()
var name: String
}Declaring the Array
Hold your items in a mutable @State array. When you remove an element, SwiftUI animates the row away for free.
@State private var items = [
Item(name: "Milk"),
Item(name: "Eggs")
]The IndexSet Argument
onDelete hands you an IndexSet of the rows the user swiped. It is a set because a person could remove several at once.
Removing by Offsets
Pass that IndexSet straight to the arrays remove(atOffsets:) method. One line removes exactly the swiped items safely.
func delete(at offsets: IndexSet) {
items.remove(atOffsets: offsets)
}Wiring It Together
Put your rows in a ForEach inside a List, then attach onDelete to call your delete function. That is the whole pattern.
List {
ForEach(items) { item in
Text(item.name)
}
.onDelete(perform: delete)
}Inline Closures Work Too
You can skip the named function and write the deletion right inside onDelete as a closure when the logic is tiny.
.onDelete { offsets in
items.remove(atOffsets: offsets)
}Free Swipe Animation
Because items is @State, SwiftUI compares before and after and slides the deleted row out smoothly. You never write the animation yourself.
Attach to ForEach, Not List
A common slip is putting onDelete on the List. It belongs on the ForEach, since that is what maps your array to rows.
Custom Swipe Actions
For more than delete, reach for swipeActions, which lets you add tinted buttons like Archive or Flag on either edge.
.swipeActions {
Button("Flag") { }
.tint(.orange)
}Quick Check
Where does the onDelete modifier belong?
Recap: Swipe-to-Delete
You learned to keep items in @State, attach onDelete to a ForEach, and remove swiped rows with remove(atOffsets:). 🎉
Häufig gestellte Fragen
Ist die Lektion „Zeilen per Wischgeste löschen“ kostenlos?
Ja — der vollständige Text von „Zeilen per Wischgeste löschen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des SwiftUI Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der SwiftUI Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Zeilen per Wischgeste löschen“?
Entfernen Sie Elemente mit onDelete. Du übst SwiftUI Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um SwiftUI Academy zu starten?
Keine Vorkenntnisse erforderlich. SwiftUI Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Zeilen per Wischgeste löschen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser SwiftUI Academy-Lektion Code schreiben und ausführen?
Ja. Jede SwiftUI Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Zeilen per Wischgeste löschen
- Mit onMove neu anordnen
- Neue Elemente hinzufügen
- Zum Aktualisieren ziehen