Spørre med @Query
Hent og sorter vedvarende data i visninger.
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. 🎯
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.