0
0
iOS Swiftmobile~20 mins

Variables (let, var) and type inference in iOS Swift - Mini App: Build & Ship

Choose your learning style9 modes available
Build: Simple Info Screen
This screen shows a greeting message and a number. It uses variables and constants with type inference.
Target UI
-------------------------
| Simple Info Screen     |
|-----------------------|
| Greeting: Hello, User! |
| Number: 42             |
|                       |
| [Change Number Button] |
-------------------------
Use let to declare a constant greeting message with type inference.
Use var to declare a variable number with type inference.
Display the greeting and number on the screen.
Add a button labeled 'Change Number' that changes the number variable to a new value when tapped and updates the display.
Starter Code
iOS Swift
import SwiftUI

struct ContentView: View {
    // TODO: Declare greeting constant here
    
    // TODO: Declare number variable here
    
    var body: some View {
        VStack(spacing: 20) {
            // TODO: Show greeting text
            
            // TODO: Show number text
            
            Button("Change Number") {
                // TODO: Change number variable to a new value
            }
        }
        .padding()
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
Task 1
Task 2
Task 3
Task 4
Task 5
Solution
iOS Swift
import SwiftUI

struct ContentView: View {
    let greeting = "Hello, User!"
    @State private var number = 42
    
    var body: some View {
        VStack(spacing: 20) {
            Text("Greeting: \(greeting)")
                .font(.title2)
            Text("Number: \(number)")
                .font(.title3)
            Button("Change Number") {
                number = 100
            }
            .buttonStyle(.borderedProminent)
        }
        .padding()
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

We use let to declare greeting as a constant string. This means its value cannot change.

We use @State var number to declare a variable that can change and update the UI when it does.

The Text views show the greeting and number. The button changes the number from 42 to 100 when tapped, and the UI updates automatically because number is a state variable.

This example shows how Swift infers types from the assigned values, so we don't need to write String or Int explicitly.

Final Result
Completed Screen
-------------------------
| Simple Info Screen     |
|-----------------------|
| Greeting: Hello, User! |
| Number: 42             |
|                       |
| [Change Number Button] |
-------------------------
When the user taps the 'Change Number' button, the number changes from 42 to 100 on the screen.
Stretch Goal
Add a second button labeled 'Reset Number' that sets the number back to 42 when tapped.
💡 Hint
Add another Button below the first one. In its action, set the number variable back to 42.