Hente med @FetchRequest
Last inn administrerte objekter direkte i visninger.
Hente med @FetchRequest er en gratis leksjon i SwiftUI Academy på CoddyKit. Dette er leksjon 2 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.
Lese poster i visninger
For å vise lagrede data må en SwiftUI-visning hente dem fra Core Data og tegne seg på nytt hver gang dataene endres.
Wrapperen @FetchRequest
Property wrapperen @FetchRequest kjører en spørring mot en entitet og holder resultatene oppdaterte og aktuelle for deg.
@FetchRequest(sortDescriptors: []) var tasks: FetchedResults<Task>Hva du får tilbake
Resultatene kommer som FetchedResults, en samling du kan gå gjennom på samme måte som en matrise i view body.
Vise dem i en liste
Legg resultatene direkte inn i en List med ForEach for å vise én rad for hver lagrede post.
List(tasks) { task in
Text(task.title ?? "Untitled")
}Sortere resultatene
Send inn sortDescriptors, slik at radene kommer i en forutsigbar rekkefølge i stedet for en tilfeldig rekkefølge.
@FetchRequest(sortDescriptors: [SortDescriptor(\.title)]) var tasks: FetchedResults<Task>Filtrere med et predikat
Legg til en NSPredicate for å hente bare poster som følger en regel, for eksempel fullførte elementer eller et søkeord.
@FetchRequest(sortDescriptors: [], predicate: NSPredicate(format: "isDone == true")) var done: FetchedResults<Task>Den holder seg oppdatert
@FetchRequest følger med på konteksten, så når du legger til eller sletter en post, oppdateres visningen automatisk. ⚡
Den trenger konteksten
@FetchRequest leser konteksten fra environment, så verdien du satte inn i stacken, må være tilgjengelig.
Håndtere et tomt resultat
Når hentingen ikke returnerer noe, viser du en vennlig tom tilstand i stedet for en tom skjerm.
if tasks.isEmpty {
Text("No tasks yet")
}Valgfrie attributter
Core Data-attributter er ofte optional i Swift, så pakk dem trygt ut før du viser verdiene.
Deklarer den som var
Deklarer en @FetchRequest-egenskap som var, siden wrapperen oppdaterer de lagrede resultatene når dataene endres.
Hurtigsjekk
Du har koblet opp @FetchRequest. En rask sjekk av hvordan den fungerer.
Oppsummering
Du brukte @FetchRequest til å hente poster inn i en visning, sortere og filtrere dem, og la listen oppdatere seg selv når dataene endres. ✨
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 «Hente med @FetchRequest» gratis?
Ja – hele teksten i «Hente med @FetchRequest» 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 «Hente med @FetchRequest»?
Last inn administrerte objekter direkte 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 2 av 4.
Hvor lang tid tar leksjonen «Hente med @FetchRequest»?
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
- Core Data-stakken
- Hente med @FetchRequest
- Opprette og lagre entiteter
- Predikater og sorteringsbeskrivelser