SwiftUI Academy · Leçon

Interroger avec @Query

Récupérez et triez les données persistantes dans les vues.

Leçon 3 sur 413 étapes

Interroger avec @Query est une leçon SwiftUI Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage SwiftUI Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours SwiftUI Academy comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

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. 🎯

Gratuit pour commencer

Apprends Swift avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
30
Leçons
120

Questions Fréquemment Posées

La leçon « Interroger avec @Query » est-elle gratuite ?

Oui — le texte complet de « Interroger avec @Query » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours SwiftUI Academy, passe à CoddyKit PRO. Le cours SwiftUI Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Interroger avec @Query » ?

Récupérez et triez les données persistantes dans les vues. Tu pratiques SwiftUI Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer SwiftUI Academy ?

Aucune expérience préalable n'est requise. SwiftUI Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Interroger avec @Query » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon SwiftUI Academy ?

Oui. Chaque leçon SwiftUI Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Définir des types @Model
  2. Le conteneur et le contexte du modèle
  3. Interroger avec @Query
  4. Insérer, mettre à jour et supprimer
← Retour à SwiftUI Academy