Baris yang Dapat Dihapus dengan Usapan
Hapus item dengan onDelete.
Baris yang Dapat Dihapus dengan Usapan adalah pelajaran SwiftUI Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar SwiftUI Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus SwiftUI Academy mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
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:). 🎉
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Baris yang Dapat Dihapus dengan Usapan” gratis?
Ya — teks lengkap “Baris yang Dapat Dihapus dengan Usapan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus SwiftUI Academy, upgrade ke CoddyKit PRO. Kursus SwiftUI Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Baris yang Dapat Dihapus dengan Usapan”?
Hapus item dengan onDelete. Kamu berlatih SwiftUI Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai SwiftUI Academy?
Tidak diperlukan pengalaman sebelumnya. SwiftUI Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Baris yang Dapat Dihapus dengan Usapan” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran SwiftUI Academy ini?
Ya. Setiap pelajaran SwiftUI Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Baris yang Dapat Dihapus dengan Usapan
- Mengurutkan Ulang dengan onMove
- Menambahkan Item Baru
- Tarik untuk Menyegarkan