SwiftUI Academy · Lektion

Kald af API'er med URLSession

Hent data ved hjælp af async/await.

Lektion 2 af 413 trin

Kald af API'er med URLSession er en gratis SwiftUI Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i SwiftUI Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. SwiftUI Academy-kurset indeholder 4 lektioner i alt.

Hvad URLSession gør

URLSession er et Apple-framework til kommunikation med netværket. Du giver det en URL, og så henter det svaret for dig. 🌐

Opret en URL

Start med en gyldig URL. Initialiseringen er valgfri, fordi teksten kan være ugyldig, så du skal pakke den ud, før du bruger den.

let url = URL(string: "https://api.example.com/users")!

Det asynkrone hentekald

Den moderne måde at hente data på er async/await. Du afventer data fra en URL, og koden læses oppefra og ned som normalt.

let (data, response) = try await
    URLSession.shared.data(from: url)

Du får data og svar

Kaldet returnerer to ting: de rå data-bytes og et svar, der beskriver status. Du afkoder normalt dataene bagefter.

Kombinér hentning og afkodning

Hent og afkod i to korte trin. Brug await på bytesene, og giv dem derefter til JSONDecoder for at få en typet værdi.

let (data, _) = try await URLSession.shared.data(from: url)
let users = try JSONDecoder().decode([User].self, from: data)

Asynkrone funktioner

Placér netværksarbejde i en async-funktion. Når du markerer den som async, kan du bruge await i den, og brugerfladen forbliver responsiv.

func loadUsers() async throws -> [User] { }

Hvorfor throws er vigtigt

Netværk kan svigte, så hente-funktioner bruger throws. Kaldere skal bruge try, hvilket tvinger dig til at tænke over fejl.

Kontrollér statuskoden

Konvertér svaret, og læs dets statusCode. En værdi på 200 betyder succes, mens 404 eller 500 signalerer problemer.

let http = response as? HTTPURLResponse
if http?.statusCode == 200 { }

Genbrug den delte session

Til de fleste apps er URLSession.shared alt, hvad du behøver. Det er en færdig session med fornuftige standardindstillinger.

Tilpassede forespørgsler

Til headere eller POST-data skal du oprette en URLRequest. Angiv metoden og felterne, og giv derefter forespørgslen til sessionen.

var request = URLRequest(url: url)
request.httpMethod = "GET"

Hold netværksarbejde væk fra brugerfladen

Udfør altid hentning i en async-kontekst, aldrig direkte på hovedtråden, så tryk og rulning forbliver flydende.

Hurtigt tjek

Hurtigt tjek af, hvordan du henter data fra en URL.

Opsummering: URLSession

Du kan nu bruge await til at hente data fra en URL med URLSession, kontrollere statuskoden og afkode bytesene i en asynkron funktion, der kan udløse fejl. 🚀

Gratis at komme i gang

Lær Swift med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Kald af API'er med URLSession” gratis?

Ja — hele teksten til “Kald af API'er med URLSession” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af SwiftUI Academy-kurset, skal du opgradere til CoddyKit PRO. SwiftUI Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Kald af API'er med URLSession”?

Hent data ved hjælp af async/await. Du øver dig i SwiftUI Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på SwiftUI Academy?

Der kræves ingen tidligere erfaring. SwiftUI Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Kald af API'er med URLSession”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne SwiftUI Academy-lektion?

Ja. Alle SwiftUI Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Dekodning af JSON med Codable
  2. Kald af API'er med URLSession
  3. Modifikatoren .task
  4. Indlæsnings- og fejltilstande
← Tilbage til SwiftUI Academy