Bird
Raised Fist0
Swiftprogramming~5 mins

Methods in structs in Swift - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a method in a Swift struct?
A method in a Swift struct is a function defined inside the struct that can perform actions using the struct's properties or parameters.
Click to reveal answer
beginner
How do you define a method inside a Swift struct?
You define a method inside a Swift struct by writing a function inside the struct's curly braces, like this:
struct Example {
func greet() {
print("Hello")
}
}
Click to reveal answer
intermediate
What keyword do you use to modify properties inside a method of a struct?
You use the mutating keyword before the method to allow it to change properties of the struct.
Click to reveal answer
intermediate
Why do methods in structs sometimes need the 'mutating' keyword?
Because structs are value types, methods that change their properties must be marked with 'mutating' to tell Swift the method will modify the struct itself.
Click to reveal answer
beginner
Can methods in structs return values? Give an example.
Yes, methods in structs can return values.
Example:
struct Circle {
var radius: Double
func area() -> Double {
return 3.14 * radius * radius
}
}
Click to reveal answer
What keyword must you add to a struct method that changes its properties?
Amutating
Bchanging
Cvar
Dmodifying
Where do you define methods in a Swift struct?
AInside the struct's curly braces
BOutside the struct
COnly in classes, not structs
DIn a separate file
Can a method in a struct return a value?
AOnly if marked mutating
BNo, methods cannot return values
COnly if the struct is a class
DYes, methods can return values
Why do some struct methods need the 'mutating' keyword?
ABecause it makes the method faster
BBecause structs are value types and need explicit permission to change
CBecause classes require it
DBecause methods always need 'mutating'
Which of these is a valid method inside a struct?
Avar greet = "Hi"
Bclass greet() {}
Cfunc greet() { print("Hi") }
Dlet greet = func() {}
Explain how to create and use a method inside a Swift struct.
Think about how you write a function inside the struct and then use it.
You got /3 concepts.
    Describe why the 'mutating' keyword is important for methods in structs.
    Consider how structs behave differently from classes.
    You got /3 concepts.

      Practice

      (1/5)
      1.

      What is the main purpose of a method inside a Swift struct?

      easy
      A. To define actions the struct can perform
      B. To store data values
      C. To create a new struct type
      D. To import external libraries

      Solution

      1. Step 1: Understand what methods do in structs

        Methods are functions inside structs that define behaviors or actions the struct can perform.
      2. Step 2: Differentiate methods from data storage

        Properties store data, while methods perform actions using that data.
      3. Final Answer:

        To define actions the struct can perform -> Option A
      4. Quick Check:

        Methods = actions in structs [OK]
      Hint: Methods = actions inside structs, properties = data [OK]
      Common Mistakes:
      • Confusing methods with properties
      • Thinking methods create new types
      • Mixing methods with import statements
      2.

      Which keyword must be used before a method in a Swift struct if it changes the struct's properties?

      easy
      A. final
      B. override
      C. static
      D. mutating

      Solution

      1. Step 1: Recall Swift's rule for modifying struct properties

        Struct methods that change properties must be marked with mutating to allow modification.
      2. Step 2: Identify the correct keyword

        Among the options, only mutating enables property changes inside struct methods.
      3. Final Answer:

        mutating -> Option D
      4. Quick Check:

        Change properties = mutating [OK]
      Hint: Use mutating for methods that change struct properties [OK]
      Common Mistakes:
      • Using override in structs (only for classes)
      • Confusing static with mutating
      • Omitting mutating keyword causes errors
      3.

      What will be the output of this Swift code?

      struct Counter {
          var count = 0
          mutating func increment() {
              count += 1
          }
      }
      
      var myCounter = Counter()
      myCounter.increment()
      print(myCounter.count)
      medium
      A. 0
      B. 1
      C. Error: Cannot modify property
      D. nil

      Solution

      1. Step 1: Understand the mutating method increment()

        The method increases count by 1 and is marked mutating, so it can change the property.
      2. Step 2: Trace the code execution

        myCounter starts with count = 0, increment() adds 1, so count becomes 1, then printed.
      3. Final Answer:

        1 -> Option B
      4. Quick Check:

        mutating method changes count to 1 [OK]
      Hint: mutating methods can change properties, so count increments [OK]
      Common Mistakes:
      • Forgetting mutating causes error
      • Expecting count to stay 0
      • Thinking print outputs nil
      4.

      Identify the error in this Swift struct method and how to fix it:

      struct Score {
          var points = 0
          func addPoint() {
              points += 1
          }
      }
      medium
      A. Method should return points value
      B. Property points must be let instead of var
      C. Method must be marked mutating to change points
      D. No error, code runs fine

      Solution

      1. Step 1: Check if method modifies a property

        addPoint() tries to increase points by 1, which modifies the struct's property.
      2. Step 2: Recall Swift rule for modifying properties in structs

        Methods that modify properties must be marked mutating, otherwise compiler error occurs.
      3. Final Answer:

        Method must be marked mutating to change points -> Option C
      4. Quick Check:

        Modify property in struct method = mutating needed [OK]
      Hint: Add mutating keyword to methods that change struct properties [OK]
      Common Mistakes:
      • Omitting mutating keyword
      • Changing var to let (makes property immutable)
      • Thinking method must return value
      5.

      Given this struct, which method correctly resets the level property to 1?

      struct Game {
          var level = 5
      
          // Which method resets level to 1?
      }
      hard
      A. mutating func reset() { level = 1 }
      B. mutating func reset() -> Int { return 1 }
      C. static func reset() { level = 1 }
      D. func reset() { level = 1 }

      Solution

      1. Step 1: Identify method that changes a property

        Resetting level means changing the property, so method must be mutating.
      2. Step 2: Check each option

        A lacks mutating, so cannot modify property. B is mutating but only returns 1 without changing level. C is static and cannot access instance property. D is mutating and correctly sets level to 1.
      3. Final Answer:

        mutating func reset() { level = 1 } -> Option A
      4. Quick Check:

        Change property in struct method = mutating func [OK]
      Hint: Use mutating func to change struct properties inside methods [OK]
      Common Mistakes:
      • Forgetting mutating keyword
      • Using static func to access instance properties
      • Returning value instead of changing property
      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