0Pricing
SwiftUI Academy · Pelajaran

Tarik untuk Menyegarkan

Muat ulang data dengan pengubah refreshable.

Tarik untuk Menyegarkan adalah pelajaran SwiftUI Academy gratis di CoddyKit. Ini adalah pelajaran 4 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.

Refreshing on Demand

Users expect to pull a list down to reload it. SwiftUI bakes this gesture in with a single modifier, no gesture code required. ✨

Meet refreshable

Attach the refreshable modifier to a List. Pulling down reveals a spinner and runs the async work you provide.

.refreshable {
    await reload()
}

It Expects Async Work

The refreshable closure is async, so it pairs perfectly with await and modern Swift concurrency for fetching data.

Spinner Tied to Your Task

The pull-to-refresh spinner stays visible until your await finishes. SwiftUI hides it the moment the work completes.

A Simple Reload

Inside refreshable, call an async function that fetches fresh data and updates your @State array on completion.

func reload() async {
    items = await fetchItems()
}

Awaiting a Network Call

A real reload usually awaits a network request. Use URLSession with async/await to pull new items from a server.

let (data, _) = try await
    URLSession.shared.data(from: url)

Update State After Await

Once the await returns, assign the decoded results to your @State array and the list refreshes with the new rows.

let fresh = try decoder.decode(
    [Item].self, from: data)
items = fresh

Handle Errors Gracefully

Network calls can fail. Wrap the work in do/catch so a dropped connection shows a message instead of crashing.

do {
    items = try await fetchItems()
} catch {
    showError = true
}

Refreshable Needs a List

The pull gesture only works on scrollable containers like List or ScrollView. Attaching refreshable to a VStack does nothing.

Keep It Quick

Refresh should feel snappy. If your fetch is slow, show progress and avoid blocking the main thread with heavy work.

Pairs With Other Editing

Pull-to-refresh sits happily beside onDelete, onMove, and add. Together they make a fully interactive, editable list. ✨

Quick Check

What kind of closure does refreshable take?

Recap: Pull-to-Refresh

You added reload-on-pull with the async refreshable modifier on a List, awaiting fresh data and handling errors. 🎉

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Tarik untuk Menyegarkan” gratis?

Ya — teks lengkap “Tarik untuk Menyegarkan” 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 “Tarik untuk Menyegarkan”?

Muat ulang data dengan pengubah refreshable. 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 4 dari 4.

Berapa lama pelajaran “Tarik untuk Menyegarkan” 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

  1. Baris yang Dapat Dihapus dengan Usapan
  2. Mengurutkan Ulang dengan onMove
  3. Menambahkan Item Baru
  4. Tarik untuk Menyegarkan
← Kembali ke SwiftUI Academy