Bird
Raised Fist0
iOS Swiftmobile~5 mins

First iOS app in iOS Swift - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the entry point of a SwiftUI iOS app?
The entry point is a struct that conforms to the App protocol, usually marked with @main. It defines the app's main scene.
Click to reveal answer
beginner
What does the ContentView struct represent in a SwiftUI app?
It represents the main user interface view shown on the screen. It conforms to View and describes the UI layout.
Click to reveal answer
beginner
How do you display a simple text label in SwiftUI?
Use the Text view with a string, like Text("Hello World").
Click to reveal answer
beginner
What is the purpose of the body property in a SwiftUI view?
It defines the view's content and layout. SwiftUI reads it to render the UI on screen.
Click to reveal answer
beginner
How do you run your first iOS app on a simulator?
In Xcode, select a simulator device from the toolbar and click the Run button. The app will build and launch in the simulator.
Click to reveal answer
Which protocol must the main app struct conform to in SwiftUI?
AView
BApp
CController
DDelegate
What SwiftUI view is used to show text on the screen?
ADisplay
BLabel
CStringView
DText
Where do you write the UI layout code in a SwiftUI view?
AIn the <code>body</code> property
BIn the <code>init</code> method
CIn the <code>main</code> function
DIn the <code>AppDelegate</code>
How do you start your app in Xcode to test it?
AClose the project and reopen
BPress Command + S
CClick the Run button after selecting a simulator
DClick the Stop button
What attribute marks the main app struct as the app's entry point?
A@main
B@UIApplicationMain
C@AppEntry
D@Start
Describe the basic structure of a first SwiftUI iOS app and how it shows a simple text on screen.
Think about the app entry point, main view, and how UI is built.
You got /4 concepts.
    Explain the role of the body property in SwiftUI views and why it is important.
    Consider how SwiftUI knows what to show on screen.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the Text view do in a basic SwiftUI iOS app?
      easy
      A. It displays a string of text on the screen.
      B. It creates a button that can be tapped.
      C. It starts the app when launched.
      D. It handles user input from the keyboard.

      Solution

      1. Step 1: Understand the role of Text in SwiftUI

        The Text view is used to show words or sentences on the screen.
      2. Step 2: Differentiate from other views

        Unlike Button, which handles taps, Text only displays static text.
      3. Final Answer:

        It displays a string of text on the screen. -> Option A
      4. Quick Check:

        Text shows text [OK]
      Hint: Remember: Text shows words, Button reacts to taps [OK]
      Common Mistakes:
      • Confusing Text with Button
      • Thinking Text starts the app
      • Assuming Text handles user input
      2. Which of the following is the correct way to create a button with the label "Tap me" in SwiftUI?
      easy
      A. Button("Tap me") { print("Tapped") }
      B. Button(Text("Tap me")) { print("Tapped") }
      C. Button { print("Tapped") } label: { Text("Tap me") }
      D. Button(action: print("Tapped"), label: "Tap me")

      Solution

      1. Step 1: Recall SwiftUI Button syntax

        The correct syntax uses a trailing closure for the action and a label closure for the button text.
      2. Step 2: Match syntax to options

        Button { print("Tapped") } label: { Text("Tap me") } matches the correct pattern: Button { action } label: { Text("label") }.
      3. Final Answer:

        Button { print("Tapped") } label: { Text("Tap me") } -> Option C
      4. Quick Check:

        Button syntax uses closures for action and label [OK]
      Hint: Button uses closures: action first, label second [OK]
      Common Mistakes:
      • Using Button with string only as label
      • Putting action inside label
      • Incorrect parameter order
      3. What will be displayed when this SwiftUI code runs?
      struct ContentView: View {
        @State private var count = 0
        var body: some View {
          VStack {
            Text("Count: \(count)")
            Button("Increment") {
              count += 1
            }
          }
        }
      }
      medium
      A. A text showing "Count: 0" and a button labeled "Increment" that increases count when tapped.
      B. Only a button labeled "Increment" with no text displayed.
      C. A text showing "Count: 1" initially and a button labeled "Increment".
      D. The app will crash due to missing @State annotation.

      Solution

      1. Step 1: Understand @State usage

        The variable count is marked with @State, so changes update the UI.
      2. Step 2: Analyze initial UI

        Initially, count is 0, so text shows "Count: 0" and button labeled "Increment" is visible.
      3. Final Answer:

        A text showing "Count: 0" and a button labeled "Increment" that increases count when tapped. -> Option A
      4. Quick Check:

        @State variable updates UI on change [OK]
      Hint: @State variables start at initial value and update UI [OK]
      Common Mistakes:
      • Thinking count starts at 1
      • Assuming no text is shown
      • Believing app crashes without @State
      4. Identify the error in this SwiftUI code snippet:
      struct ContentView: View {
        var body: some View {
          Button("Click me") {
            print("Clicked")
          }
        }
      }
      medium
      A. The body property must return some View explicitly.
      B. No syntax error; the code is correct.
      C. The body property must be marked with @ViewBuilder.
      D. The Button label should be a closure, not a string.

      Solution

      1. Step 1: Check body property syntax

        In SwiftUI, the body computed property implicitly returns the view using @ViewBuilder.
      2. Step 2: Verify the Button syntax

        Button("Click me") { print("Clicked") } is valid; no explicit return needed even for multi-line expressions.
      3. Final Answer:

        No syntax error; the code is correct. -> Option B
      4. Quick Check:

        SwiftUI body implicitly returns views [OK]
      Hint: SwiftUI body uses implicit return via ViewBuilder [OK]
      Common Mistakes:
      • Thinking an explicit return is required
      • Believing @ViewBuilder must be marked explicitly
      • Assuming Button requires closure label only
      5. You want to create a simple iOS app that shows "Hello, SwiftUI!" and a button that changes the text to "Button tapped!" when pressed. Which code snippet correctly implements this behavior?
      hard
      A. struct ContentView: View { @State private var message = "Hello, SwiftUI!" var body: some View { VStack { Text("Hello, SwiftUI!") Button("Tap") { message = "Button tapped!" } } } }
      B. struct ContentView: View { var message = "Hello, SwiftUI!" var body: some View { VStack { Text(message) Button("Tap") { message = "Button tapped!" } } } }
      C. struct ContentView: View { var message = "Hello, SwiftUI!" var body: some View { VStack { Text(message) Button { message = "Button tapped!" } label: { Text("Tap") } } } }
      D. struct ContentView: View { @State private var message = "Hello, SwiftUI!" var body: some View { VStack { Text(message) Button("Tap") { message = "Button tapped!" } } } }

      Solution

      1. Step 1: Use @State for mutable text

        The text changes when the button is tapped, so message must be a @State variable.
      2. Step 2: Update text on button tap

        The button action updates message to "Button tapped!" and the UI reflects this change.
      3. Step 3: Verify correct syntax

        struct ContentView: View { @State private var message = "Hello, SwiftUI!" var body: some View { VStack { Text(message) Button("Tap") { message = "Button tapped!" } } } } uses @State private var, a VStack with Text(message), and a button with label and action correctly.
      4. Final Answer:

        A -> Option D
      5. Quick Check:

        @State variable updates text on button tap [OK]
      Hint: Use @State for text that changes on button tap [OK]
      Common Mistakes:
      • Not using @State for mutable text
      • Using constant text in Text view
      • Incorrect button label or action syntax
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard