Mit map und filter transformieren
Formen Sie Werte um, während sie downstream fließen.
Mit map und filter transformieren ist eine kostenlose SwiftUI Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des SwiftUI Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der SwiftUI Academy-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
Operators Reshape Streams
Between a publisher and its subscriber you can insert operators that transform values as they flow downstream.
map Transforms Each Value
The map operator runs a closure on every value and emits the result, changing the stream's shape.
[1, 2, 3].publisher
.map { $0 * 10 }map Can Change the Type
Because map returns whatever you want, the Output type can change, like turning numbers into strings.
[1, 2].publisher
.map { "Item \($0)" }filter Drops Values
The filter operator keeps only the values whose closure returns true and silently discards the rest.
[1, 2, 3, 4].publisher
.filter { $0 % 2 == 0 }Chaining Operators
Operators compose cleanly: chain filter then map to first narrow the stream, then reshape it.
.filter { $0 > 0 }
.map { $0 * 2 }Order Matters
Each operator sees only the output of the one above it, so reordering map and filter can quietly change your result.
compactMap Removes nil
Use compactMap when your transform may return nil, and Combine drops those empty results for you.
["1", "x", "3"].publisher
.compactMap { Int($0) }removeDuplicates
The removeDuplicates operator emits a value only when it differs from the previous one.
subject.removeDuplicates()scan Accumulates
The scan operator carries a running result, emitting an updated total for every value, like a live sum.
.scan(0) { total, next in total + next }Readable Pipelines
Reading top to bottom, a pipeline tells a story: this is where the declarative power of operators shines.
.filter { !$0.isEmpty }
.map { $0.uppercased() }Pure Transforms
Keep operator closures pure: avoid side effects so each value transforms predictably and tests stay simple.
Quick Check
A stream emits 1, 2, 3, 4. After .filter { $0 % 2 == 0 }.map { $0 * 10 }, what is emitted?
Recap: Shaping the Flow
You learned to reshape streams: map transforms, filter narrows, and compactMap clears out nil values. ✨
Häufig gestellte Fragen
Ist die Lektion „Mit map und filter transformieren“ kostenlos?
Ja — der vollständige Text von „Mit map und filter transformieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des SwiftUI Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der SwiftUI Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Mit map und filter transformieren“?
Formen Sie Werte um, während sie downstream fließen. Du übst SwiftUI Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um SwiftUI Academy zu starten?
Keine Vorkenntnisse erforderlich. SwiftUI Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Mit map und filter transformieren“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser SwiftUI Academy-Lektion Code schreiben und ausführen?
Ja. Jede SwiftUI Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Publisher und Subscriber
- Mit map und filter transformieren
- Debounce für die Live-Suche
- Combine in SwiftUI einbinden