SwiftUI Academy · leksjon

Spørre med @Query

Hent og sorter vedvarende data i visninger.

Leksjon 3 av 413 trinn

Spørre med @Query er en gratis leksjon i SwiftUI Academy på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i SwiftUI Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i SwiftUI Academy inneholder totalt 4 leksjoner.

Hente lagrede data

For å vise lagrede poster i en visning henter du dem med @Query. Den leser fra containeren og holder visningen oppdatert. 🔍

Egenskapen @Query

Deklarer en matriseegenskap med @Query, så fyller SwiftData den med alle poster som samsvarer. Ingen manuell innlasting er nødvendig.

@Query private var tasks: [Task]

Vise resultater i en liste

Kombiner @Query med en List for å vise rader fra dataene dine. Hvert lagrede objekt blir én linje på skjermen.

List(tasks) { task in
    Text(task.title)
}

Direkte oppdateringer

En visning med @Query oppdateres automatisk når dataene endres. Sett inn en post, så tegnes listen på nytt uten ekstra arbeid.

Sortere resultater

Send inn en sort-key path for å sortere resultatene. Her returneres oppgavene alfabetisk etter tittel hver gang.

@Query(sort: \.title) var tasks: [Task]

Sorteringsretning

Legg til order for å sortere stigende eller synkende. Lister med de nyeste først føles naturlige for ting som nylige notater.

@Query(sort: \.due, order: .reverse)
var tasks: [Task]

Filtrere med predikater

Et #Predicate begrenser resultatene til poster som følger en regel. Bare radene du trenger, kommer frem i visningen.

#Predicate<Task> { $0.isDone == false }

Bruke et filter

Send predikatet ditt til @Query for å hente et filtrert utvalg. Denne visningen viser bare oppgavene som fortsatt gjenstår.

@Query(filter: #Predicate<Task> {
    !$0.isDone })
var open: [Task]

Flere sorteringsnøkler

Oppgi en matrise med SortDescriptor-verdier for å sortere etter mer enn ett felt. Sekundær sortering gjør at lange lister blir oversiktlige.

@Query(sort: [SortDescriptor(\.priority)])
var tasks: [Task]

Telling og tomme tilstander

Kontroller matrisens isEmpty for å vise en vennlig plassholder. En tydelig tom tilstand veileder nye brukere på en god måte.

if tasks.isEmpty {
    Text("No tasks yet")
}

Forespørsler holder seg synkronisert

Fordi @Query følger med på lageret, kommer brukergrensesnittet aldri ut av takt med dataene. Lagre én gang, så gjenspeiles det i alle forespørsler.

Hurtigsjekk

Hurtigsjekk av spørring mot data.

Oppsummering: Spørringer

Du brukte @Query til å hente, sortere og filtrere lagrede data, og lot visningen oppdateres direkte. Nå er det blitt helt naturlig å lese fra SwiftData. 🎯

Gratis å komme i gang

Lær deg Swift med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Spørre med @Query» gratis?

Ja – hele teksten i «Spørre med @Query» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av SwiftUI Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i SwiftUI Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Spørre med @Query»?

Hent og sorter vedvarende data i visninger. Du øver på SwiftUI Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med SwiftUI Academy?

Ingen tidligere erfaring er nødvendig. SwiftUI Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Spørre med @Query»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne SwiftUI Academy-leksjonen?

Ja. Alle SwiftUI Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Definere @Model-typer
  2. Model Container og Context
  3. Spørre med @Query
  4. Sette inn, oppdatere og slette
← Tilbake til SwiftUI Academy