Swift Academy · Les

Optional-patronen in switch en for

Match optionals met case let-patronen.

Les 4 van 413 stappen

Optional-patronen in switch en for is een gratis Swift Academy-les op CoddyKit. Dit is les 4 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Swift Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Swift Academy bevat in totaal 4 lessen.

Optionele waarden in switch

Je kunt rechtstreeks op een optionele waarde schakelen. De cases .some(value) en .none komen overeen met een aanwezige waarde of nil.

let value: Int? = 7
switch value {
case .some(let n):
    print("Got \(n)")
case .none:
    print("Nothing")
}

Het ?-patroon als verkorte vorm

case let x? schrijven is een verkorte vorm van .some(x). De afsluitende ? betekent: "uitpakken in x".

let value: String? = "Swift"
switch value {
case let text?:
    print(text.uppercased())
case nil:
    print("none")
}

Rechtstreeks met nil overeenkomen

Je kunt met de letterlijke waarde nil overeenkomen in plaats van met .none. Dat leest natuurlijker.

let value: Int? = nil
switch value {
case let n?:
    print(n)
case nil:
    print("no value")
}

Met specifieke waarden overeenkomen

Je kunt specifieke uitgepakte waarden combineren met het algemene uitpakpatroon.

let status: Int? = 404
switch status {
case 200?:
    print("OK")
case 404?:
    print("Not Found")
case let code?:
    print("Other: \(code)")
case nil:
    print("No status")
}

for case let in lussen

Bij het doorlopen van optionele waarden slaat for case let x? in array automatisch elementen met nil over en pakt de overige waarden uit.

let items: [Int?] = [1, nil, 3, nil, 5]
for case let n? in items {
    print(n)
}

Hoe for case filtert

Het patroon case let n? komt alleen overeen met elementen die niet-nil zijn, dus het lusblok wordt uitsluitend uitgevoerd voor aanwezige waarden.

let names: [String?] = ["Ann", nil, "Bo"]
for case let name? in names {
    print(name.count)
}

Equivalent met if let

Je kunt hetzelfde bereiken met if let binnen een gewone lus, maar for case let x? is beknopter.

let items: [Int?] = [2, nil, 4]
for item in items {
    if let item {
        print(item)
    }
}

Optionele enumwaarden herkennen

Het optionele patroon kan worden gecombineerd met andere patronen, bijvoorbeeld om specifieke waarden binnen de optionele waarde te herkennen.

let codes: [Int?] = [1, 2, nil, 3]
for case let c? in codes where c % 2 == 1 {
    print("odd: \(c)")
}

where met for case

Voeg een where-clausule toe om na het uitpakken verder te filteren in een for case-lus.

let scores: [Int?] = [40, nil, 80, 95]
for case let s? in scores where s >= 80 {
    print("high: \(s)")
}

Switch met where

Binnen een switch over een optionele waarde kun je de uitgepakte binding verfijnen met een where-clausule.

let value: Int? = 12
switch value {
case let n? where n > 10:
    print("big: \(n)")
case let n?:
    print("small: \(n)")
case nil:
    print("none")
}

Waarom je deze patronen gebruikt

Met optionele patronen kun je aanwezige en ontbrekende waarden afhandelen in één volledige structuur, waardoor verspreide nil-controles minder nodig zijn.

let result: String? = nil
switch result {
case let r?:
    print("Value: \(r)")
case nil:
    print("Empty result")
}

Korte test

Test optionele patronen.

Samenvatting: optionele patronen in switch en for

Gebruik case let x? (de verkorte vorm van .some) en case nil in een switch, en for case let x? om niet-nil-elementen uit te pakken terwijl je ze doorloopt. Je kunt ze desgewenst verfijnen met where.

let xs: [Int?] = [10, nil, 20]
for case let x? in xs { print(x) }
Gratis beginnen

Leer Swift met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
122
Lessen
409

Veelgestelde vragen

Is de les “Optional-patronen in switch en for” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Swift Academy, waaronder “Optional-patronen in switch en for”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Swift Academy bevat in totaal 4 lessen.

Wat leer ik in “Optional-patronen in switch en for”?

Match optionals met case let-patronen. Je oefent met Swift Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Swift Academy te beginnen?

Ervaring vooraf is niet nodig. Swift Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “Optional-patronen in switch en for”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Swift Academy?

Ja. Elke les over Swift Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. if let en shorthand binding
  2. guard let voor vroegtijdig verlaten
  3. Meerdere optionals binden
  4. Optional-patronen in switch en for
← Terug naar Swift Academy