Kaydırarak Satır Silme
onDelete ile öğeleri kaldırın.
Kaydırarak Satır Silme, CoddyKit'te ücretsiz bir SwiftUI Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, SwiftUI Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. SwiftUI Academy kursu toplamda 4 dersten oluşur.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
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:). 🎉
Sıkça Sorulan Sorular
“Kaydırarak Satır Silme” dersi ücretsiz mi?
Evet — “Kaydırarak Satır Silme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve SwiftUI Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. SwiftUI Academy kursu toplamda 4 dersten oluşur.
“Kaydırarak Satır Silme” dersinde ne öğreneceğim?
onDelete ile öğeleri kaldırın. SwiftUI Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
SwiftUI Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te SwiftUI Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Kaydırarak Satır Silme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu SwiftUI Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her SwiftUI Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Kaydırarak Satır Silme
- onMove ile Yeniden Sıralama
- Yeni Öğeler Ekleme
- Aşağı Çekerek Yenileme