Swift Academy · Lesson

The View Protocol and Body Property

What makes a SwiftUI View and how body defines the UI hierarchy.

Lesson 1 of 412 steps

The View Protocol and Body Property is a free Swift Academy lesson on CoddyKit. This is lesson 1 of 4. Any 3 lessons of this learning path are free to read in full — after that, CoddyKit PRO unlocks every lesson, plus hands-on practice with a built-in code editor and a 24/7 AI tutor. It is part of the Swift Academy learning path, and your progress syncs across the web and the CoddyKit app. The Swift Academy course includes 4 lessons in total.

Welcome

SwiftUI is a declarative UI framework. Every visual element is a `View` — a lightweight value type whose `body` property describes the UI.

The View Protocol

```swift protocol View { associatedtype Body: View; var body: Body { get } } ``` Conforming to `View` requires a `body` computed property that returns some other `View`.

Hello World

```swift struct ContentView: View { var body: some View { Text("Hello, SwiftUI!") } } ```

Opaque Return Type: some View

`some View` hides the concrete return type from callers while preserving it for the compiler — necessary because `body` can return complex nested view trees.

Composing Views

```swift struct ContentView: View { var body: some View { VStack { Text("Title").font(.title) Text("Subtitle").foregroundColor(.gray) } } } ```

View Identity and Lifetime

SwiftUI uses the view's type and position in the hierarchy to determine identity — when identity changes, the view is recreated. When it's stable, only the body is re-evaluated.

Subviews

Extract reusable pieces: ```swift struct Header: View { var title: String var body: some View { Text(title).font(.largeTitle) } } ```

Drawing Primitives

Built-in view types: • `Text`, `Image`, `Button`, `Label` • `Rectangle`, `Circle`, `Ellipse` • `Color`, `Spacer`, `Divider`

Container Views

Container views manage layout: • `VStack`, `HStack`, `ZStack` • `List`, `ScrollView`, `LazyVStack` • `Group`, `Section`

Views Are Structs — Cheap

SwiftUI views are value types re-created on every render. The `body` computation is cheap — actual rendering is handled by the underlying rendering engine which diffences views.

Quick Check

What is the required property of the `View` protocol?

Recap

Key takeaways: • `View` protocol requires `body: some View` • Structs are cheap — re-created frequently • `some View` hides the complex return type • Extract subviews for reusability • SwiftUI uses type+position for view identity Next: @State.
Free to start

Learn Swift with an AI tutor — free

Write and run real code in your browser, get instant help from a 24/7 AI tutor, and pick up where you left off on the web or in the app.

Courses
122
Lessons
409

Frequently Asked Questions

Is the “The View Protocol and Body Property” lesson free?

Yes — any 3 lessons of the Swift Academy learning path, including “The View Protocol and Body Property”, are free to read in full here on the web. After that, CoddyKit PRO unlocks every lesson, plus interactive practice with a built-in code editor and a 24/7 AI tutor. The Swift Academy course includes 4 lessons in total.

What will I learn in “The View Protocol and Body Property”?

What makes a SwiftUI View and how body defines the UI hierarchy. You practise Swift Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Swift Academy?

No prior experience is required. Swift Academy on CoddyKit is structured for beginners through advanced learners, so you can start here or from the beginning and move at your own pace. This is lesson 1 of 4.

How long does the “The View Protocol and Body Property” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Swift Academy lesson?

Yes. Every Swift Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. The View Protocol and Body Property
  2. @State: Local Mutable State in Views
  3. View Modifiers: Chaining and Custom Modifiers
  4. Previews and the Preview Provider
← Back to Swift Academy