Swift Academy · Lektion

Optional chaining och grunderna i felhantering

Använd optional chaining, guard-mönster, try?/try! och do/catch för att hantera frånvaro och fel. Lär er Result som ett alternativ.

Lektion 1 av 38 steg

Optional chaining och grunderna i felhantering är en gratis lektion i Swift Academy på CoddyKit. Detta är lektion 1 av 3. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Swift Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Swift Academy innehåller totalt 3 lektioner.

Introduktion

Den här lektionen kopplar samman Optionals och felhantering. Utforska chaining, guard-mönster, try?/try! och Result.

Optional chaining

Optional chaining (a?.b?.c) avbryts och returnerar nil om någon länk är nil.

struct User { var address: Address? }
struct Address { var city: String }
let u: User? = User(address: Address(city: "Paris"))
print(u?.address?.city)   // Optional("Paris")

guard-mönster

guard let avslutas tidigt om en optional är nil, så att det uppackade värdet kan användas därefter.

func greet(_ name: String?) {
    guard let n = name else {
        print("No name")
        return
    }
    print("Hello, \\(n)!")
}
greet(nil)
greet("Ada")

try? jämfört med try!

try? returnerar nil vid fel. try! kraschar om ett fel kastas.

enum ParseErr: Error { case bad }
func parse(_ s: String) throws -> Int {
    guard let n = Int(s) else { throw ParseErr.bad }
    return n
}
let ok = try? parse("10")   // Int?
let fail = try? parse("xx") // nil
// let crash = try! parse("xx")  // runtime crash

do/catch

do/catch hanterar kastade fel explicit.

do {
    let n = try parse("42")
    print(n)
} catch {
    print("error:", error)
}

Result-typ

Result<T,Error> representerar lyckat resultat eller fel utan att kasta fel.

func safeParse(_ s: String) -> Result<Int,Error> {
    do { return .success(try parse(s)) }
    catch { return .failure(error) }
}
print(safeParse("5"))
print(safeParse("oops"))

Fråga om optional chaining

Snabbkontroll: Vad gör optional chaining?

Sammanfattning

Sammanfattning: Kombinera optionals och felhantering. Använd chaining, guard, try?/try!, do/catch och Result för att hantera frånvaro och fel på ett säkert sätt.

Gratis att börja

Lär dig Swift med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
122
Lektioner
409

Vanliga frågor

Är lektionen ”Optional chaining och grunderna i felhantering” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Swift Academy, inklusive ”Optional chaining och grunderna i felhantering”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Swift Academy innehåller totalt 3 lektioner.

Vad lär jag mig i ”Optional chaining och grunderna i felhantering”?

Använd optional chaining, guard-mönster, try?/try! och do/catch för att hantera frånvaro och fel. Lär er Result som ett alternativ. Ni övar på Swift Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Swift Academy?

Du behöver inga förkunskaper. Utbildningen i Swift Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 3.

Hur lång tid tar lektionen ”Optional chaining och grunderna i felhantering”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Swift Academy-lektionen?

Ja. Varje Swift Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Optional chaining och grunderna i felhantering
  2. do/catch och definiera fel (enums)
  3. Result-typer — Result
← Tillbaka till Swift Academy