Melakukan Query dengan @Query
Ambil dan urutkan data persisten dalam tampilan.
Melakukan Query dengan @Query adalah pelajaran SwiftUI Academy gratis di CoddyKit. Ini adalah pelajaran 3 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.
Fetching Saved Data
To show stored records in a view, you fetch them with @Query. It reads from your container and keeps the view fresh. 🔍
The @Query Property
Declare an array property with @Query and SwiftData fills it with every matching record. No manual loading needed.
@Query private var tasks: [Task]Showing Results in a List
Pair @Query with a List to render rows from your data. Each saved object becomes one line on screen.
List(tasks) { task in
Text(task.title)
}Live Updates
A @Query view updates by itself when data changes. Insert a record and the list redraws with no extra work.
Sorting Results
Pass a sort key path to order your results. Here tasks come back alphabetically by title every time.
@Query(sort: \.title) var tasks: [Task]Sort Direction
Add order to sort ascending or descending. Newest-first lists feel natural for things like recent notes.
@Query(sort: \.due, order: .reverse)
var tasks: [Task]Filtering with Predicates
A #Predicate narrows results to records that match a rule. Only the rows you care about reach the view.
#Predicate<Task> { $0.isDone == false }Applying a Filter
Pass your predicate to @Query to fetch a filtered set. This view shows only the tasks still left to do.
@Query(filter: #Predicate<Task> {
!$0.isDone })
var open: [Task]Multiple Sort Keys
Give an array of SortDescriptor values to sort by more than one field. Tie-breaks make long lists feel ordered.
@Query(sort: [SortDescriptor(\.priority)])
var tasks: [Task]Counting and Empty States
Check the array's isEmpty to show a friendly placeholder. A clear empty state guides new users gently.
if tasks.isEmpty {
Text("No tasks yet")
}Queries Stay in Sync
Because @Query watches the store, your UI never drifts from the data. Save once and every query reflects it.
Quick Check
Quick check on querying data.
Recap: Querying
You used @Query to fetch, sort, and filter saved data, and watched the view stay live. Reading from SwiftData is now second nature. 🎯
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Melakukan Query dengan @Query” gratis?
Ya — teks lengkap “Melakukan Query dengan @Query” 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 “Melakukan Query dengan @Query”?
Ambil dan urutkan data persisten dalam tampilan. 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 3 dari 4.
Berapa lama pelajaran “Melakukan Query dengan @Query” 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
- Mendefinisikan Tipe @Model
- Container & Context Model
- Melakukan Query dengan @Query
- Menyisipkan, Memperbarui & Menghapus