Exercise 2: Why body Can't Return Two Views (and How to Fix It) — Possible Solution ========================================================================================= Changing the message text is simple - just edit the string literal inside Text("..."). But adding a second Text view directly below the first one, with nothing wrapping them, produces a real compile error: struct ContentView: View { var body: some View { Text("Hello, Swift!") Text("Learning iOS development") // Error: does not conform to 'View' } } WHY THIS FAILS: The real View protocol's body property has a single return value - it can only return ONE view. Two separate statements sitting one after another inside body aren't automatically combined into a single view the way, for instance, several elements inside a single JSX return in React can be. Under the hood, Swift's real @ViewBuilder mechanism (used implicitly for a View's own body) can combine multiple child views into one value, but only when they're explicitly grouped inside a real container view that itself conforms to View and can hold multiple children - most simply, a VStack (vertical stack): struct ContentView: View { var body: some View { VStack { Text("Hello, Swift!") Text("Learning iOS development") } } } Now VStack itself is the single real view being returned by body, and it internally lays out its own two Text children stacked vertically. This is exactly the layout tool Chapter 7 covers in full - VStack, HStack, and their relatives. ANSWER: body can only return a single value, and two bare Text views sitting one after another aren't automatically one value - they need to be wrapped in a real container view, such as VStack, which itself becomes the single view body actually returns while holding both Text views as its own children. WHY THIS WORKS AS AN ANSWER ------------------------------ This identifies the real single-return-value constraint on a View's body property and names the concrete, idiomatic SwiftUI fix (a container view like VStack), correctly distinguishing it from languages/frameworks that allow multiple sibling elements without an explicit wrapper.