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.
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 crashdo/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.
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
- Optional chaining och grunderna i felhantering
- do/catch och definiera fel (enums)
- Result-typer — Result