ViewBuilder und generische Container
Akzeptieren Sie mit @ViewBuilder beliebige Inhalte.
ViewBuilder und generische Container ist eine kostenlose SwiftUI Academy-Lektion auf CoddyKit. Dies ist Lektion 4 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.
Containers That Hold Anything
VStack and List accept whatever views you nest inside them. You can build your own container that holds arbitrary content too. 📦
What @ViewBuilder Does
The @ViewBuilder attribute lets a closure list several views without commas or arrays. It is the magic behind stacks.
VStack {
Text("One")
Text("Two")
}Accept content as a Closure
Make your container take a content closure marked @ViewBuilder. Callers then pass views just like they do for VStack.
struct Card<Content: View>: View {
@ViewBuilder var content: Content
}Generic over Content
The container is generic over its content type. That single struct can wrap a Text, an image, or a whole layout.
Render the Content
In your body, place the stored content inside whatever wrapper you want, like padding and a background.
var body: some View {
content.padding().background(.gray)
}Use Your Container
Call it with a trailing closure and nest any views inside. Your custom wrapper now feels just like a built-in one.
Card {
Text("Title")
Text("Body")
}Builder on Functions Too
Mark a helper function with @ViewBuilder to return different views from branches without wrapping them in a type.
@ViewBuilder
func footer(show: Bool) -> some View {
if show { Text("More") } else { EmptyView() }
}Conditionals in Builders
Inside a builder you can use if and switch freely. SwiftUI assembles the chosen branch into the final view tree.
Multiple Content Slots
A container can take more than one builder, like a header and a footer. Each slot is its own @ViewBuilder closure.
struct Panel<H: View, B: View>: View {
@ViewBuilder var header: H
@ViewBuilder var body2: B
}Reusable Layout Shells
Generic containers capture a layout shell once, like a bordered card, and let every screen fill it with unique content.
Type-Safe and Flexible
Because content is generic, the compiler still checks every view. You get flexibility without losing type safety.
Quick Check
Quick check on generic containers.
Recap: Build Flexible Containers
Combine @ViewBuilder with a generic content type to make containers that wrap any views. Reusable shells, full type safety. 🧠
Lerne Swift mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 30
- Lektionen
- 120
Häufig gestellte Fragen
Ist die Lektion „ViewBuilder und generische Container“ kostenlos?
Ja — der vollständige Text von „ViewBuilder und generische Container“ 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 „ViewBuilder und generische Container“?
Akzeptieren Sie mit @ViewBuilder beliebige Inhalte. 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 4 von 4.
Wie lange dauert die Lektion „ViewBuilder und generische Container“?
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
- Wiederverwendbare Ansichten auslagern
- Benutzerdefinierte ViewModifiers
- ButtonStyle und LabelStyle
- ViewBuilder und generische Container