if let och förkortad bindning
Packa upp optionals inom ett scope, inklusive förkortad syntax i Swift 5.7.
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) }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
- if let och förkortad bindning
- guard let för tidig exit
- Binda flera optionals
- Optional-mönster i switch och for