Swift Academy · Lektion

if let och förkortad bindning

Packa upp optionals inom ett scope, inklusive förkortad syntax i Swift 5.7.

Lektion 1 av 413 steg

if let och förkortad bindning är en gratis lektion i Swift Academy på CoddyKit. Detta är lektion 1 av 4. 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 4 lektioner.

Varför optionals binds

En optional måste packas upp innan Ni kan använda värdet inuti den. if let packar säkert upp den endast när ett värde finns.

let stored: Int? = 5
if let value = stored {
    print(value)
}

Syntaxen för if let

Skriv if let name = optional { ... }. Inuti klamrarna är name det uppackade, icke-optionala värdet. Om optionalen är nil hoppas blocket över.

let input: String? = "Swift"
if let text = input {
    print(text.count)
}

Lägga till en else

Ni kan lägga till en else för att hantera fallet med nil uttryckligen.

let age: Int? = nil
if let a = age {
    print("Age is \(a)")
} else {
    print("No age provided")
}

Förkortad bindning

Sedan Swift 5.7 kan Ni, när den nya konstanten har samma namn som optionalen, skriva bara if let value utan delen = value.

let score: Int? = 90
if let score {
    print(score)
}

Förkortad jämfört med klassisk bindning

Den förkortade formen if let score är identisk med if let score = score. Den minskar upprepningen när namnen matchar.

let nickname: String? = "Sam"
if let nickname {
    print("Hi \(nickname)")
}

Bindningens räckvidd

Den uppackade konstanten finns bara inuti if-blocket. Utanför blocket är optionalen fortfarande optional.

let maybe: Int? = 7
if let maybe {
    print(maybe + 1)
}
print(maybe as Any)

Bindning från konverteringar

if let passar naturligt ihop med konverteringar som kan misslyckas, till exempel Int(string).

let raw = "42"
if let number = Int(raw) {
    print(number * 2)
} else {
    print("Not a number")
}

Binda dictionary-värden

Använd if let för att läsa ett dictionary-värde som kanske saknas på ett säkert sätt.

let ages = ["Ann": 30]
if let annAge = ages["Ann"] {
    print(annAge)
}
if let bobAge = ages["Bob"] {
    print(bobAge)
} else {
    print("Bob not found")
}

Binda en ändringsbar kopia

Använd if var när Ni vill ändra det uppackade värdet lokalt. Ändringen påverkar inte den ursprungliga optionalen.

let count: Int? = 10
if var c = count {
    c += 5
    print(c)
}

Undvik nästling

Ni kan placera logik som beror på värdet säkert inuti bindningsblocket och därmed undvika tvångsuppackning med !.

let name: String? = "Lia"
if let name {
    let upper = name.uppercased()
    print(upper)
}

Varför inte tvångsuppacka

Tvångsuppackning med ! får programmet att krascha om optionalen är nil. if let är det säkra alternativet och kraschar aldrig.

let value: Int? = nil
if let value {
    print(value)
} else {
    print("Safe: was nil")
}

Snabbkontroll

Testa optional-bindning.

Sammanfattning: if let och förkortad bindning

if let packar säkert upp en optional till en lokal konstant endast när ett värde finns. Den förkortade formen if let name i Swift 5.7 undviker att namnet upprepas. Föredra den framför tvångsuppackning.

let x: Int? = 3
if let x { print(x) }
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 ”if let och förkortad bindning” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Swift Academy, inklusive ”if let och förkortad bindning”, 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 4 lektioner.

Vad lär jag mig i ”if let och förkortad bindning”?

Packa upp optionals inom ett scope, inklusive förkortad syntax i Swift 5.7. 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 4.

Hur lång tid tar lektionen ”if let och förkortad bindning”?

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. if let och förkortad bindning
  2. guard let för tidig exit
  3. Binda flera optionals
  4. Optional-mönster i switch och for
← Tillbaka till Swift Academy